Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Если в таблице A существует внешний ключ FK_B (может быть пустым), ссылающийся на таблицу B (в таблице B первичный ключ состоит из двух полей), то можно утверждать следующее (выберите верные ответы;



Задание №1

Если в таблице A существует внешний ключ FK_B (может быть пустым), ссылающийся на таблицу B (в таблице B первичный ключ состоит из двух полей), то можно утверждать следующее (выберите верные ответы; напишите подробное пояснение к каждому пункту):

 

 

FK_B состоит из двух полей

 

Связь между A и B - многие к одному

 

Связь между A и B – один к одному, если первичный ключ таблицы B полностью совпадает с KF_B

 

Связь между A и B - один ко многим

 

Перед вводом данных в таблицу B таблица A уже должна быть заполнена

 

Перед удалением записи из A, имеющей связанные записи в B, необходимо удалить эти записи из B

 

В СУБД sql server (и во многих других СУБД) нельзя настроить связь между таблицами таким образом, что удаление записи из A, имеющей связанные записи в B, приведет к автоматическому удалению таких записей из B

 

Записи в B не могут существовать без записей в A

 

Перед вводом данных в таблицу A таблица B уже должна быть заполнена

 

 

Задание №2

· разработайте базу данных в Access

· выполните экспорт в sql server

· исправьте типы, ключи, связи. Создайте диаграмму в sql server management studio

· cгенерируйте скрипт, содержащий sql-код для создания таблиц и для вставки данных

Подготовил: к.т., доцент Герасимов Н.А.

Задание:

Разработать базу данных для учета рабочего времени сотрудников предприятия и начисления зарплаты. Предприятие состоит из нескольких цехов и на нем работают сотрудники разной квалификации. Оплата идет в зависимости от тарифа квалификации сотрудника и количества отработанного им времени в цеху (Оплата=Тариф*ОтрВремя). Учет отработанного времени сотрудниками ведется в отдельном журнале (Табель учета). В конце каждого месяца составляется Ведомость начисления зарплаты.

 

Что надо сделать:

1. Создать таблицы:

Таблица 1. Справочник работников

Структура таблицы: Табельный номер, Фамилия И. О., Разряд, Цех

Таблица 2. Справочник тарифов

Структура таблицы: Разряд, Тариф (руб./час.)

Таблица 3. Табель учета отработанного времени

Структура таблицы: Табельный номер, Отработанное время в часах, Номер месяца

Структура таблицы: Месяц, Цех, Табельный номер. Фамилия И. О., Отработанное время, Тариф, Начислено (руб.)

 

2. Ввести

в таблицу 1 сведения о 15-ти работниках из трех цехов,

в таблицу 2 данные по пяти разрядам.

ввести данные о 15 рабочих за один месяц в таблицу 3.



 

Этапы разработки:

  1. Разработка описания таблиц
  2. Создание базы данных и таблиц в Access
  3. Создание схемы базы данных (связи между таблицами)
  4. Ввод данных в таблицы

 

  1. Разработка базы данных

 

Выделяем сущности: Сотрудники (Employee), Тарифы (Referents rates), Табель учета отработанного времени (Timesheet hours worked)

 

Разработка таблиц:

 

Таблица 1 Сотрудник (Employee)

Табельный номер

Фамилия

Имя

Отчество

Разряд

Цех

NUM_E

LAST_NAME

FIRST_NAME

OTCH

CLASS

DEP

Число, целое/ ключ

Текст, 30

Текст, 30

Текст, 30

Число, целое

Число, целое

INT PK

CHAR(30)

CHAR(30)

CHAR(30)

INT

INT

 

Замечание: PK - Primary Key (Первичный ключ)

 

Таблица 2. Справочник тарифов (Ref_rates)

Разряд

Тариф(руб/час)

CLASS

TARIFF

Число, целое/ключ

Число, одинарное с пл.точкой

INT PK

FLOAT

 

 

Таблица 3. Табель учета отработанного времени (Timesheet)

Номер записи

Табельный номер

Отработанное время в часах

Номер месяца

Число, целое

Число, целое

Целое

Целое

NUM_T

NUM_T

HOUR_W

NUM_M

INT PK

INT

INT

INT


 

  1. Создание базы данных в Access

 

Войти в Access и создать новую Базу данных Work (Работа):

Файл-> Создать новую базу-> Задать имя и место расположения базы.

 

Затем войти в режим Таблицы и с помощью Конструктора создать таблицы (1-3).

 

Создание таблицы Employee

 

 

Создание таблицы Ref_rates (Тарифы)

 

Создание таблицы TimeSheet (Ведомость учета отработанного времени)

 

 

  1. Создание схемы базы данных Work

 

Следует принять во внимание следующие бизнес-правила:

- Тарифы могут присутствовать у разных Сотрудников (связь 1:М)

- Сотрудники могут быть зарегистрированы в журнале учета отработанного времени (связь 1:М)

 

 

Связи отражают следующие бизнес-правила (отношения):

· Сотрудник (Employee) может много раз быть отмечен в Журнале (TimeSheet) – связь типа 1: М («один-ко-многим»);

· Тариф (Ref_rates) может быть у многих сотрудников (Employee) – связь типа 1: М («один-ко-многим»).

 

 

  1. Введите данные в таблицы

 

 

Таблица1 Ref_rates

Разряд

Тариф

 

20,50

 

30,45

 

45,20

 

60,15

 

70,10

 

100.00

 

 

Таблица 2 Employee

Табельный номер

Фамилия

Имя

Отчество

Разряд

Цех

 

Иванов

Петр

Семенович

   
 

Сидоров

Василий

Иванович

   
 

Трофимов

Константин

Анатольевич

   
 

Курочкин

Александр

Петрович

   
 

Баранов

Семен

Семенович

   
 

Волков

Павел

Леонидович

   

 

Таблица 3. Табель учета отработанного времени (Timesheet)

Номер записи в журнал

Табельный номер

Номер месяца

Отработ. Время (в час)

       
       
       
       
       
       

 

5. Выполните экспорт каждой таблицы в БД на основе sql server

 

Создайте пустую базу данных в MS Sql Server 2012/2014

Выполните экспорт. Во время экспорта первой таблицы создайте источник ODBC (если он еще не был создан)

 

6. Задайте ключи, проведите связи в дизайнере диаграмм в sql server management studio

Проверьте настройки счётчиков (спецификация идентификатора; identity(1,1))

 

7. Настройте связи таким образом, чтобы можно было удалить работника одновременно с записями в таблице Timesheet


Дата добавления: 2015-11-04; просмотров: 40 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
3.3. Применение логических законов и правил | Если в таблице A существует внешний ключ FK_B (может быть пустым), ссылающийся на таблицу B (в таблице B первичный ключ состоит из двух полей), то можно утверждать следующее (выберите верные ответы;

mybiblioteka.su - 2015-2024 год. (0.02 сек.)