DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Проектування реляційної бази даних

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Комп’ютерні науки
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2015
Тип роботи:
Завдання
Предмет:
Бази даних та знань
Група:
ЗІ-32
Коротко про документ

Про що ця робота

У цій лабораторній роботі виконано проектування реляційної бази даних для швейної фабрики. Здійснено нормалізацію та реалізовано створені таблиці за допомогою СУБД MySQL.

У роботі розглядаються

  • Проектування баз даних
  • Реляційні бази даних
  • Функціональні залежності
  • Нормалізація відношень
  • СУБД MySQL
  • Мови опису даних SQL

Зміст і розділи

  1. Завдання
  2. Схема функціональних залежностей
  3. Скріпт текст для створення бази даних
  4. Висновок
Для кого:Студенти технічних спеціальностей та викладачі дисципліни баз даних
Викладачі:Викладач кафедри захисту інформації

Ключові поняття

реляційна база данихуніверсальне відношеннянадлишковістьфункціональна залежністьдетермінантможливий ключдекомпозиціяСУБД MySQLтаблиця

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ, АВТОМАТИКИ ТА МЕТРОЛОГІЇ КАФЕДРА”ЗАХИСТ ІНФОРМАЦІЇ” Звіт до лабораторної роботи № 2 з курсу: "Бази даних та знань" на тему: “ Проектування реляційної бази даних” Завдання Спроектувати на концептуальному рівні реляційну базу даних відповідно до варіанту (додається), номер якого співпадає з номером у списку студентів в журналі викладача. Число атрибутів відношення має відповідати потребам користувача бази даних, тт. забезпечувати функції довідкової системи для клієнтів організації, для якої дана БД створюється, системи побудови звітів для контролюючих осіб (спонсорів) чи органів влади. Скласти універсальне відношення для даної бази даних. Перечислити атрибути, для яких спостерігається надлишковість. Побудувати блок-схему функціональних залежностей (ФЗ) між атрибутами універсального відношення. Визначити детермінанти і можливі ключі відношення. Перерахувати їх. Усунути надлишкові (дублюючі) ФЗ. Виконати декомпозицію універсального відношення до множини відношень з НФБК. Відобразити всі етапи декомпозиції таблично і графічно (у вигляді блок-схем ФЗ). Варіант №15. Швейна фабрика 1. Номер замовлення 2. Вид тканини 3. Кількість тканини (в метрах) 4. Номер швейної машини 5. id_виконавця 6. Телефон виконавця 7. Оклад виконавця 8. Посада виконавця 9. ПІБ виконавця 10. id_замовника 11. ПІБ замовника 12. Телефон замовника 13. Ціна виробу 14. Ціна матеріалів 15. Термін виконання замовлення 3) Схема функціональних залежностей 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15                   2 14     Ключ 2 1 2 3 13 15 10 5          Ключ 1 10 11 12      Ключ 10 5 4 6 8 9        Ключ 5 8 7     Ключ 8 Детермінанти: 1,2,5,8,10 СКРІПТ ТЕКСТ ДЛЯ СТВОРЕННЯ БАЗИ ДАНИХ Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.36-community-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> select now(); +---------------------+ | now() | +---------------------+ | 2010-04-26 12:56:36 | +---------------------+ 1 row in set (0.02 sec) mysql> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (0.00 sec) mysql> create database fabrika; Query OK, 1 row affected (0.06 sec) mysql> use fabrika; Database changed mysql> create table spect(id_zam varchar(20) not null, tkanina varchar(20) not null, k-t_tkan int(6) primary key not null, id_ma-ki int (6) not null); Query OK, 0 rows affected (0.05 sec) mysql> describe spect; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id_zam | varchar(20) | NO | | NULL | | | tkanina | varchar(20) | NO | | NULL | | | k-t_tkan | int(6) | NO | PRI | NULL | | | id_ma-ki | int (6) | NO | | NULL | | +----------+-------------+------+-----+---------+-------+ 4 rows in set (0.03 sec) mysql> insert into spect (id_zam , tkanina, k-t_tkan, id_ma-ki) values -> ('sorochka', shovk, 3, 10), mysql> create table prazivnyk(id_prazivnyka int(6) primary key not null,prizvywe char(30) not null, posada char(30) not null,zarplata int(6) not null, telefone int(10) not null); Query OK, 0 rows affected (0.38 sec) mysql> describe prazivnyk; +-----------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+-------------+------+-----+---------+-------+ | id_prazivnyka | int(6) | NO | PRI | NULL | | | prizvywe | char(30) | NO | | NULL | | | posada | char(30) | NO | | NULL | | | zarplata | int(6) | NO | | NULL | | | telephone | int(10) | NO | | NULL | | +-----------------+-------------+------+-----+---------+-------+ 5 rows in set (0.02 sec) mysql> create table posada(posada char(30) primary key not null,zarplata int(6) not null); Query OK, 0 rows affected (0.02 sec) mysql> describe posada; +----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------+------+-----+---------+-------+ | posada | char(30) | NO | PRI | NULL | | | zarplata | int(6) | NO | | NULL | | +----------+----------+------+-----+---------+-------+ 2 rows in set (0.02 sec) mysql> insert into posada(posada, zarplata) values -> ('pryberalnyk', 1001), -> ('sis_admin', 1500), -> ('durektor', 1000), -> ('robitnik', 2140); Query OK, 4 rows affected (0.38 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> select * from posada; +-------------+----------+ | posada | zarplata | +-------------+----------+ | pryberalnyk | 1001 | | sis_admin | 1500 | | durektor | 1000 | | robitnik | 2140 | +-------------+----------+ 4 rows in set (0.00 sec) mysql> create table zamovnyk(id_zamovnyka int(6) primary key not null,prizvywe char(30) not null, telefone int(10) not null); Query OK, 0 rows affected (0.38 sec) mysql> describe zamovnyk; +-----------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+-------------+------+-----+---------+-------+ | id_zamovnyka | int(6) | NO | PRI | NULL | | | prizvywe | char(30) | NO | | NULL | | | telephone | int(10) | NO | | NULL | | +-----------------+-------------+------+-----+---------+-------+ 3 rows in set (0.02 sec) mysql> create table cina(tkanina varchar(20) not null, k-t_tkan int(6) not null, cina_virobu int(6) not null, cina_mater int(6) not null, termin int(6) primary key(id_spect, ryad, misce)); Query OK, 0 rows affected (0.01 sec) mysql> describe cina; +-------------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+------------+------+-----+---------+-------+ | tkanina | varchar(20)| NO | PRI | NULL | | | k-t_tkan | int(6) | NO | PRI | NULL | | | cina_virobu | int(6) | NO | PRI | NULL | | | cina_mater | int(6) | NO | | NULL | | | termin | int(6) | NO | PRI | NULL | | +-------------+------------+------+-----+---------+-------+ 5 rows in set (0.02 sec) mysql> load data local infile 'C:/wamp/bin/mysql/mysql5.1.36/data/cina.txt'into table cina; Query OK, 3 rows affected, 9 warnings (0.05 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 9 mysql> select * from cina; +----------+---------+-------------+-------------+--------+ | tkanina | k-t_tkan| cina_virobu | cina_mater | termin | +----------+---------+-------------+-------------+--------+ | shovk | 1 | 86 | 51 | 1 | | bavovna| 1 | 50 | 35 | 1 | | koton | 1 | 54 | 30 | 2 | +----------+---------+-------------+-------------+--------+ 3 rows in set (0.00 sec) mysql> select * from prazivnyk where prizvywe='nechay_i'; +---------------+----------+-------------+------------+---------+--------------- --+ | id_prazivnyka | prizvywe | posada | telefone | adresa | data_narodjeny a | +---------------+----------+-------------+------------+---------+--------------- --+ | 987485 | nechay_i | pryberalnyk | 2147483647 | lukasha | 1989-09-10 | +---------------+----------+-------------+------------+---------+--------------- --+ 1 row in set (0.00 sec) mysql> select * from prazivnyk where adresa='lukasha'; +---------------+----------+-------------+------------+---------+--------------- --+ | id_prazivnyka | prizvywe | posada | telefone | adresa | data_narodjeny a | +---------------+----------+-------------+------------+---------+--------------- --+ | 987485 | nechay_i | pryberalnyk | 2147483647 | lukasha | 1989-09-10 | | 892376 | semen_v | sis_admin | 2147483647 | lukasha | 1988-10-05 | | 987654 | nechay_m | durektor | 2147483647 | lukasha | 1989-09-10 | +---------------+----------+-------------+------------+---------+--------------- --+ 3 rows in set (0.00 sec) mysql> update posada set posada='sys_admin' where zarplata=1500; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from posada; +-------------+----------+ | posada | zarplata | +-------------+----------+ | pryberalnyk | 1001 | | sys_admin | 1500 | | duryktor | 1000 | | robitnik | 2140 | +-------------+----------+ 4 rows in set (0.00 sec) mysql> update posada set posada='sys_admin' where zarplata=1500; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from posada; +-------------+----------+ | posada | zarplata | +-------------+----------+ | pryberalnyk | 1001 | | sys_admin | 1500 | | duryktor | 1000 | | robitnik | 2140 | +-------------+----------+ 4 rows in set (0.00 sec)
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!