
- •1. Стратегія автоматизації предметної області
- •1.1. Загальні положення
- •1.2. Мета, цілі та задачі створення бази даних
- •1.3. Вимоги до інформаційного забезпечення
- •2. Аналіз предметної області
- •2.1. Загальні положення системного аналізу по
- •2.2. Загальні положення продажу товарів в магазині
- •2.3. Системний аналіз предметної області
- •2.3.1. Сутність Товар
- •2.3.2. Сутність Вид
- •2.3.3. Сутність Виробник
- •2.3.4. Сутність Постачальник
- •2.3.5. Сутність Покупець
- •2.3.6. Сутність Продавець
- •2.3.7. Сутність Чек
- •3. Концептуальне моделювання предметної області
- •3.1. Теоретичні положення концептуального моделювання
- •3.2. Мова er—моделювання по
- •3.2. Побудова концептуальної моделі продажу товарів для продажу
- •4. Логічне та фізичне проектування бази даних
- •4.1. Логічне проектування
- •4.2. Фізичне проектування
- •4.2.1. Скрипти створення бази даних
- •4.2.2. Інформаційно–пошукові запити
- •Висновки:
4.2. Фізичне проектування
4.2.1. Скрипти створення бази даних
Наведемо скрипт мови SQL Oracle, який створює таблиці БД.
SQLPLUS / AS SYSDBA
Створення таблиці VUD
CREATE TABLE VUD (
VudNum integer PRIMARY KEY,
Name char(15) UNIQUE NOT NULL,
Opus varchar(40) );
Створення таблиці PROIZVOD
CREATE TABLE PROIZVOD (
ProizNum integer PRIMARY KEY,
Name char(15) UNIQUE NOT NULL,
Strana char(15) NOT NULL);
Створення таблиці POSTACH
CREATE TABLE POSTACH (
PostNum integer PRIMARY KEY,
Name char(15) UNIQUE NOT NULL,
RR integer UNIQUE NOT NULL,
UrAdr varchar(40) NOT NULL,
FizAdr varchar(40) NOT NULL) ;
Створення таблиці POKUP
CREATE TABLE POKUP (
PokNum integer PRIMARY KEY,
Name char(15) UNIQUE NOT NULL,
Tel integer UNIQUE NOT NULL);
Створення таблиці PROD
CREATE TABLE PROD (
ProdNum integer PRIMARY KEY,
Name char(15) UNIQUE NOT NULL,
Tel integer UNIQUE NOT NULL,
Pasport char(8) UNIQUE NOT NULL,
Adres varchar(25) NOT NULL) ;
Створення таблиці TOVAR
CREATE TABLE TOVAR (
TovNum integer PRIMARY KEY,
Name char(15) UNIQUE NOT NULL,
VudNum integer REFERENCES VUD(VudNum) NOT NULL,
OdunNum integer REFERENCES ODUN(OdunNum) NOT NULL,
NazNum integer REFERENCES NAZNACH(NazNum) NOT NULL,
ProizNum integer REFERENCES PROIZVOD(ProizNum) NOT NULL,
PostNum integer REFERENCES POSTACH(PostNum) NOT NULL,
Misce varchar(20),
Cina number(3,3) NOT NULL) ;
Створення таблиці ZVIT
CREATE TABLE ZVIT (
ZvNum integer PRIMARY KEY,
Data date NOT NULL,
PokNum integer REFERENCES POKUP(PokNum) NOT NULL,
TovNum integer REFERENCES TOVAR(TovNum) NOT NULL,
Kol integer NOT NULL,
Sum number(3,3) NOT NULL,
ProdNum integer REFERENCES PROD(ProdNum) NOT NULL);
4.2.2. Інформаційно–пошукові запити
Наведемо приклади інформаційно пошукових запитів. Приклади наведемо у мові SQL Oracle з використанням бази даних, визначеної у попередньому підрозділі.
Для виводу запитів необхідно спочатку заповнити БД. Для цього використовуємо наступні запити.
Заповнення таблиці VUD
INSERT INTO VUD VALUES (1, 'kraski', 'dlia risovaniya');
INSERT INTO VUD VALUES (2, 'melki', 'dlia risovaniya');
INSERT INTO VUD VALUES (3, 'karandashu', 'dlia risovaniya');
INSERT INTO VUD VALUES (4, 'bysinu', 'dlia ykrasheniy');
INSERT INTO VUD VALUES (5, 'bymaga', 'dlia risovaniya');
Заповнення таблиці ODUN
INSERT INTO ODUN VALUES (1, 'sht');
INSERT INTO ODUN VALUES (2, 'ypakovka');
Заповнення таблиці NAZNACH
INSERT INTO NAZNACH VALUES (1, 'skrap', 'skrapbyking');
INSERT INTO NAZNACH VALUES (2, 'plastik', 'plastikovue ykrasheniya');
INSERT INTO NAZNACH VALUES (3, 'lepka', 'lepim iz glinu');
INSERT INTO NAZNACH VALUES (4, 'risovanie', 'risyem');
Заповнення таблиці PROIZVOD
INSERT INTO PROIZVOD VALUES (1, 'layra', 'kitai');
INSERT INTO PROIZVOD VALUES (2, 'puls', 'kitai');
INSERT INTO PROIZVOD VALUES (3, 'amina', 'rossiya');
INSERT INTO PROIZVOD VALUES (4, 'moskva', 'rosiya');
INSERT INTO PROIZVOD VALUES (5, 'kurje', 'franciya');
Заповнення таблиці POSTACH
INSERT INTO POSTACH VALUES (1, 'lam1',253698745, 'ur 1', 'fiz 1');
INSERT INTO POSTACH VALUES (2, 'lam2',248796314, 'ur 2', 'fiz 1');
INSERT INTO POSTACH VALUES (3, 'lam3',148963245, 'ur 3', 'fiz 3');
Заповнення таблиці POKUP
INSERT INTO POKUP VALUES (1, 'ivanov', 1453269);
INSERT INTO POKUP VALUES (2, 'petrov', 1452569);
INSERT INTO POKUP VALUES (3, 'arikov', 1414969);
INSERT INTO POKUP VALUES (4, 'fastov', 1698269);
Заповнення таблиці PROD
INSERT INTO PROD VALUES (1, 'Psik',123456, '111111', 'adres 1');
INSERT INTO PROD VALUES (2, 'Kyznec',123457, '222222', 'adres 2');
Заповнення таблиці TOVAR
INSERT INTO TOVAR VALUES (1, 'kraski belue', 1, 1, 4, 2, 1, 'ryaud 1', 20);
INSERT INTO TOVAR VALUES (2, 'kraski zelenue', 1, 2, 4, 2, 1, 'ryaud 1', 25);
INSERT INTO TOVAR VALUES (3, 'businki plastik', 4, 1, 2, 2, 1, 'ryaud 1', 20);
Запит 1. Вивести усі стовбці таблиці VUD.
SELECT * FROM VUD;
Запит 2. Вивести найменування товарів та їх вид творчості .
SELECT TOVAR.Name, VUD.Name
FROM TOVAR, VUD
WHERE VUD.VudNum = TOVAR.VudNum;