|
Программирование >> Sql: полное руководство
руководство Учебная база данных в настоящем приложении описана база данных, на которой основано больщинстве примеров, приведенных в этой книге. В учебной базе данных содержится информация для простого приложения по обработке заказов, использующегося в небольшой торговой компании. Учебная база данных состоит из пяти таблиц: ш customers (клиенты) - содержит по одной строке для каждого из клиентов компании; salesreps (служащие) - содержит по одной строке для каждого из десяти служащих компании; offices (офисы) - содержит по одной строке для каждого из пяти офисов компании; ш products (товары) - содержит по одной строке для каждого наименования товара, продаваемого компанией; orders (заказы) - содержит по одной строке для каждого из заказов, сделанных клиентом. Для простоты считается, что один заказ может содержать только один товар. На рис. А. 1 в графической форме изображены пять перечисленных таблиц, столбцы, которые в них содержатся, и отнощения предок/потомок, существующие между ними. Первичные ключи таблиц выделены серым цветом. OFFICES OFFICE CITY REGION MGR - TARGET SALES HASMGR WORKSIN CUSTOMERS CUST NUM COMPANY CUST REP CREDIT LIMIT SALESREPS EMPL NUM NAME AGE REP OFFICE TITLE HIRE DATE MANAGER- QUOTA SALES PLACEDBY HASREP PRODUCTS MFRJD * PRODUCTJD DESCRIPTION PRICE QTY ON HAND TAKENBY ISFOR ORDERS ORDER NUM ORDER DATE CUST -REP MFR \. PRODUCT / AMOUNT М- Пять таблиц базы данных были созданы с помощью инструкций create table, приведенных ниже: create table customers (cust num integer not null, company varchar(20) not null, CUST REP INTEGER, CREDIT LIMIT MONEY, PBIMARY KEY (CUST NaM), FOREIGN KEY HASREP (CUST REP) REFERENCES SALESREPS ON DELETE SET NULL) CREATE TABLE SALESREPS (EMPL NUM INTEGER NOT NULL, NAME VARCHAR(15) NOT NULL, AGE INTEGER, REP OFFICE INTEGER, TITLE VARCHAR(10) , HIRE DATE DATE NOT NULL, MANAGER INTEGER, QUOTA MONEY, SALES MONEY NOT NULL, PRIMARY KEY (EMPL NUM), FOREIGN KEY (MANAGER) REFERENCES SALESREPS ON DELETE SET NULL, FOREIGN KEY WORKSIN {REP OFFICE) REFERENCES OFFICES ON DELETE SET NULL) CREATE TABLE OFFICES (OFFICE INTEGER NOT NULL, CITY VARCHAR(15) NOT NULL, REGION VARCHAR(10) NOT NULL, MGR INTEGER, TARGET MONEY, SALES MONEY NOT NULL, PRIMARY KEY (OFFICE), FOREIGN KEY HASMGR (MGR) REFERENCES SALESREPS ON DELETE SET NULL) CREATE TABLE ORDERS (ORDER NUM INTEGER NOT NULL, ORDER DATE DATE NOT NULL, CUST INTEGER NOT NULL, REP INTEGER, MFR CHAR(3) NOT NULL, PRODUCT CHAR(5) NOT NULL, QTY INTEGER NOT NULL, AMOUNT MONEY NOT NULL, PRIMARY KEY {ORDER NUM), FOREIGN KEY PLACEDBY (CUST) REFERENCES CUSTOMERS ON DELETE CASCADE, FOREIGN KEY TAKENBY (REP) REFERENCES SALESREPS ON DELETE SET NULL, FOREIGN KEY ISFOR (MFR, PRODUCT)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |