Язык запросов SQL

         

базы данных 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 (предварительный/окончательный)

Таблицы, определенные в табл. 5.1, можно создать или с помощью инструмента для быстрой
разработки приложений (Rapid Application Development, RAD), или с помощью языка определения
данных (Data Definition Language, DDL), входящего в состав SQL, как показано ниже.

CREATE TABLE CLIENT (
ClientName CHARACTER (30), NOT NULL,
Address1 CHARACTER (30),  
Address2 CHARACTER (30),  
City CHARACTER (25),  
State CHARACTER (2),  
PostalCode CHARACTER (10),  
Phone CHARACTER (13),  
Fax CHARACTER (13),  
ContactPerson CHARACTER (30) ) ;  
CREATE TABLE TESTS (
TestName CHARACTER (30) NOT NULL,
StandardCharge CHARACTER (30) ) ;  
CREATE TABLE EMPLOYEE (
EmployeeName CHARACTER (30) NOT NULL,
Address1 CHARACTER (30),  
Address2 CHARACTER (30),  
City CHARACTER (25),  
State CHARACTER (2),  
PostalCode CHARACTER (10),  
HomePhone CHARACTER (13),  
OfficeExtension CHARACTER (4),  
HireDate DATE,  
JobClassification CHARACTER (10),  
HourSalComm CHARACTER (1) ) ;  
CREATE TABLE ORDERS (
OrderNumber INTEGER NOT NULL,
ClientName CHARACTER (30),  
TestOrdered CHARACTER (30),  
Salesperson CHARACTER (30),  
OrderDate DATE ) ;  
CREATE TABLE RESULTS (
ResultNumber INTEGER NOT NULL,
OrderNumber INTEGER  
Result CHARACTER (50),  
DateReported DATE,  
PrelimFinal CHARACTER (1) ) ;  

Эти таблицы относятся друг к другу посредством общих атрибутов (столбцов).

  • Таблица CLIENT связана с таблицей ORDERS с помощью столбца ClientName.
  • Таблица TESTS связана с таблицей ORDERS с помощью столбца TestName (TestOrdered).
  • Таблица EMPLOYEE связана с таблицей ORDERS с помощью столбца ЕmployeeName (Salesperson).
  • Таблица RESULTS связана с таблицей ORDERS с помощью столбца OrderNumber.

Есть простой способ сделать таблицу неотъемлемой частью реляционной базы. Надо связать эту таблицу с помощью общего столбца как минимум с еще одной таблицей из той же базы. Отношения между таблицами показаны на Рисунок 5.1.



Содержание раздела