Иллюстрированный самоучитель по SQL для начинающих

Создание многотабличной реляционной базы данных

Рассмотрим пример, который показывает процесс создания многотабличной базы данных. Скажем, вы только что основали VetLab – клиническую микробиологическую лабораторию, где проводятся анализы проб, присланных из ветеринарных фирм. Конечно, вам бы хотелось иметь данные:

  • о клиентах;
  • о выполненных анализах;
  • о сотрудниках;
  • о заказах;
  • о результатах.

У каждого их этих объектов имеются связанные между собой атрибуты. Для клиента такие атрибуты – название, адрес и другая информация для контакта. Для анализа – название и стандартная оплата. Для каждого сотрудника – его адрес, телефон, должность, квалификация и уровень оплаты. О заказе необходимо знать, кто его заказчик, когда заказ был оформлен и какой именно анализ в нем указан. А что касается результатов анализов, то необходимо знать данные, полученные при его проведении, был ли анализ предварительным или окончательным, а также номер его заказа.

Действие 3: точное определение таблиц.

Теперь для каждого объекта вам необходимо точно определить таблицу, а для каждого атрибута – столбец. В табл. 5.1 показаны таблицы базы данных VetLab.

Таблица 5.1. Таблицы базы данных VetLab.

Таблица Столбцы
CLIENT (фирма-клиент) Client Name (название фирмы-клиента)
Address 1 (адрес 1)
Address 2 (адрес 2)
City (город)
State (штат)
Postal Code (почтовый код)
Phone (телефон)
Fax (факс)
Contact Person (контактный представитель)
TESTS (анализы) Test Name (название анализа)
Standard charge (стандартная цена)
EMPLOYEE (сотрудник) Employee Name (фамилия сотрудника)
Address 1 (адрес 1)
Address 2 (адрес 2)
City (город)
State (штат)
Postal Code (почтовый код)
Home Phone (домашний телефон)
Office Extension (телефонный номер в офисе)
Hire Date (дата приема на работу)
Job classification (трудовая классификация)
Hourly/Salary/Commission (почасовая оплата/зарплата/комиссионные)
ORDERS (заказы) Order Number (номер заказа)
Client Name (название фирмы-клиента)
Test ordered (заказанный анализ)
Responsible Salesperson (сотрудник, принявший заказ)
Order Date (дата заказа)
RESULTS (результаты) Result Number (номер результата)
Order Number (номер заказа)
Result (результат)
Date Reported (сообщенная дата)
Preliminary / Final (предварительный/окончательный)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.