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

базы данных магазина спорттоваров



Таблица 3.1. Таблицы базы данных магазина спорттоваров



Таблица Столбец Тип данных Ограничение
CUSTOMER CustomeriD (идентификационный номер клиента) INTEGER NOT NULL (не может быть
неопределенным значением)
FirstName (имя) CHARACTER (15)  
  LastName (фамилия) CHARACTER (20) NOT NULL
  Street (улица) CHARACTER (25)  
  City (ГОРОД) CHARACTER (20)  
  State (штат) CHARACTER (2)  
  Zipcode (ПОЧТОВЫЙ КОД) INTEGER  
  Phone (телефон) CHARACTER (13)  
PRODUCT Product id (идентификационный номер товара) INTEGER NOT NULL
  Name (название) CHARACTER (25)  
  Description (описание) CHARACTER (30)  
  Сategory (категория) CHARACTER (15)  
  Vendor id (идентификационный номер поставщика) INTEGER  
  VendorName (наименование поставщика) CHARACTER (30)  
INVOICE InvoiceNumber (номер счета-фактуры) INTEGER NOT NULL
  CustomeriD (идентификационный номер покупателя) INTEGER  
  InvoiceDate (дата выписки счета-фактуры) DATE  
  Totalsale (всего продано на сумму) NUMERIC (9 ,2)  
  TotalRemitted (всего оплачено) NUMERIC (9 ,2)  
  Formof Payment (форма платежа) CHARACTER (10)  
INVOICE_LINE LineNumber (номер строки) INTEGER NOT NULL
  InvoiceNumber (номер счета-фактуры) INTEGER  
  Product id (идентификационный номер товара) INTEGER  
  Quantity (количество) INTEGER  
  SalePrice (продано по цене) NUMERIC (9 ,2)  

Обратите внимание, что в некоторых столбцах табл. 3.1 имеется ограничение NOT NULL (не может быть неопределенным значением). Эти столбцы являются или первичными ключами соответствующих таблиц, или вы решили, что есть другие причины, по которым их значения обязательно должны быть определенными. Первичный ключ таблицы должен однозначно идентифицировать каждую ее строку. Значение этого ключа в каждой строке должно быть определенным. (Подробно о ключах говорится в главе 5.)

Таблицы связываются друг с другом посредством общих столбцов. Ниже описаны связи между таблицами. (Отношения таблиц представлены на Рисунок 3.3.)

  • Таблицу CUSTOMER связывает с другой таблицей, INVOICE, отношение "один ко многим". Один клиент может сделать множество покупок, в результате чего получится множество счетов-фактур. Однако каждый счет-фактура имеет отношение к одному и только одному клиенту.
  • Таблицу INVOICE связывает с таблицей INVOICE_LINE также отношение "один ко многим". Ведь в счете-фактуре может быть множество строк, но каждая строка находится в одном и только одном счете-фактуре.
  • Таблицу PRODUCT с таблицей INVOICE_LINE связывает отношение "один ко многим". Каждый товар может быть во множестве строк в одном или многих счетах-фактурах. Однако каждая строка относится к одному и только одному товару.


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