Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Інститут Комп’ютерних Технологій, Автоматики та Метрології
Кафедра КСА
/
Розрахункова робота
Проектування реляційної бази даних MS SQL Server 2005 та клієнтської програми на основі ADO.NET 2.0
з дисципліни:
«Бази даних та знань»
Варіант: 4
Мета роботи
1. закріпити отримані при вивченні даного курсу знання і навики проектування ER-моделі реляційної бази даних з використанням IE-нотації та реалізації цієї моделі для СКБД Microsoft SQL Server 2005 у вигляді SQL-сценарію діалектом мови Transact-SQL;
2. ознайомитися з основними об’єктами моделі ADO.NET 2.0 та на їхній основі навчитися отримувати, модифікувати, зберігати, шукати та фільтрувати дані;
3. отримати навики розроблення клієнтських програм для баз даних з ієрархічною організацією структури даних.
Завдання
1. Розробити детальну структуру для вказаної БД у вигляді ER-діаграми. Усі таблиці БД мають бути приведені до 3-ї нормальної форми.
2. Структура БД має забезпечувати цілісність значень, наприклад, міста мають вибиратися з переліку існуючих значень.
3. Для БД має бути передбачено як мінімум 2 індекси.
4. Для реалізації структури БД, зображеної на ER-діаграмі, написати мовою T-SQL сценарій для її створення у ядрі MS SQL Server 2005.
5. Ім’я створюваної БД має складатися з прізвища студента та номеру варіанту, наприклад, Shylo41.
6. Під час створення БД за допомогою SQL-сценарію фізична БД має автоматично заповнюватися пробними даними (хоча б по декілька стрічок для кожної таблиці, окрім BLOB-полів).
7. Для роботи зі спроектованою БД написати клієнтську Windows Forms програму мовою C++/CLI чи C# у середовищі Microsoft Visual Studio .NET 2005.
8. Передбачити можливість заповнення довідкових таблиць, що забезпечують цілісність значень, в окремих вікнах.
9. Стрічка підключення до БД сервера має розміщуватися у зовнішньому файлі, для можливості її корегування.
10. На основній формі програми мають бути розміщені: прізвище та ім’я студента, а також номер залікової книжки.
11. Для ілюстрації роботи програми-клієнта з БД підготувати необхідні фотографії та інформацію в rtf-форматі.
БД № 4 «Облік фонотеки на радіостудії»
Структура БД: накласти такі обмеження: порядковий № в альбомі не може бути від’ємним; рік народження виконавця не може бути більшим за поточну дату.
SQL-сценарій: Первинні та альтернативні ключі створюються одночасно з таблицями. Зовнішні ключі створюються після створення таблиць. Обмеження CHECK створюються одночасно зі створенням таблиць.
Програма-клієнт: створити фільтр для пошуку за назвою продукту.
Інформація, що має відображатися у БД:
Пісня: назва пісні, назва альбому, зображення обкладинки альбому, тривалість пісні, порядковий номер в альбомі, виконавець, біографія виконавця (rtf-текст), країна виконавця, рік народження виконавця, студія запису альбому, адреса студії запису, виконавчий директор студії запису, рік запису, каталожний № альбому.
ER-діаграма
/
SQL-сценарій
CREATE TABLE Studio(
name varchar(255) NOT NULL,
addres varchar(255),
director varchar(255) NOT NULL,
number_albom int NOT NULL,
CONSTRAINT PK_Studio PRIMARY KEY (number_albom),
CONSTRAINT CHK_Studio CHECK (number_albom>0),
CONSTRAINT UC_Studio UNIQUE (name)
);
CREATE TABLE Song(
ID int NOT NULL,
name varchar(255) NOT NULL,
duration int NOT NULL,
number int NOT NULL,
CONSTRAINT PK_Song PRIMARY KEY (ID),
CONSTRAINT CHK_Song CHECK (number>0),
CONSTRAINT UC_Song UNIQUE (name)
);
CREATE TABLE Performer(
name varchar(255) NOT NULL,
biography text,
country varchar(255) NOT NULL,
borthday int NOT NULL,
CONSTRAINT PK_Performer PRIMARY KEY (name),
CONSTRAINT CHK_Performer CHECK (borthday<=year(getdate()))
);
CREATE TABLE Albom(
number int NOT NULL,
name varchar(255) NOT NULL,
photo image,
ID_song int NOT NULL,
name_performer varchar(255) NOT NULL,
year_note int NOT NULL,
CONSTRAINT CHK_Albom CHECK (number>0),
);
ALTER TABLE Albom
ADD CONSTRAINT FK_Studio_Albom
FOREIGN KEY (numb...