навчитися отримувати, модифікувати, зберігати, шукати та фільтрувати дані

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

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

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

Рік:
2005
Тип роботи:
Розрахункова робота
Предмет:
Бази даних та знань

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Інститут Комп’ютерних Технологій, Автоматики та Метрології Кафедра КСА / Розрахункова робота Проектування реляційної бази даних 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 (number) REFERENCES Studio(number_albom); ALTER TABLE Albom ADD CONSTRAINT FK_Song_Albom FOREIGN KEY (ID_song) REFERENCES Song(ID); ALTER TABLE Albom ADD CONSTRAINT FK_Performer_Albom FOREIGN KEY (name_performer) REFERENCES Performer(name); INSERT INTO Song VALUES(1,'Immortalized', 258, 2); INSERT INTO Song VALUES(2,'The Eye Of The Storm', 81, 1); INSERT INTO Song VALUES(3,'The Vengeful One', 252, 3); INSERT INTO Studio VALUES('Reprise Records', NULL, 'Kavin Cherko', 1); INSERT INTO Performer VALUES('David Draiman', NULL, 'Chicago', 1973); INSERT INTO Albom VALUES(1,'Immortalized', NULL, 1, 'David Draiman', 2015); INSERT INTO Albom VALUES(1,'Immortalized', NULL, 2, 'David Draiman', 2015); INSERT INTO Albom VALUES(1,'Immortalized', NULL, 3, 'David Draiman', 2015); INSERT INTO Song VALUES(4,'Sparta', 265, 1); INSERT INTO Studio VALUES('Abyss', NULL, 'Piter Tugtgrenom', 2); INSERT INTO Performer VALUES('Joakim Broden', NULL, 'Falun', 1980); INSERT INTO Albom VALUES(2,'IThe Last Stand', NULL, 4, 'Joakim Broden', 2016); Клієнтська частина private void button1_Click(object sender, EventArgs e) { con = new SqlConnection("Server=.\\SQLEXPRESS;Database=Voichenko4;Integrated Security = true"); con.Open(); } private void button2_Click(object sender, EventArgs e) { if (con != null && con.State != ConnectionState.Closed) con.Close(); } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { if (con != null && con.State != ConnectionState.Closed) con.Close(); } private void button3_Click(object sender, EventArgs e) { try { if (textBox1.Text != null) { SqlCommand cmd = new SqlCommand("SELECT Song.name AS song, Albom.name AS albom, Albom.photo, Song.duration, Song.number AS Song_number, Performer.name AS performer, Performer.biography, Performer.country, Performer.borthday, Studio.name AS studio, Studio.addres, Studio.director, Albom.year_note, Albom.number AS number_albom FROM Song, Albom, Performer, Studio WHERE Albom.number = Studio.number_albom AND Albom.ID_song = Song.ID AND Albom.name_performer = Performer.name AND Albom.name = '" + textBox1.Text + "';", con); SqlDataReader read = cmd.ExecuteReader(); listBox1.Items.Clear(); bool fl = false; while (read.Read()) { fl = true; listBox1.Items.Add("Альбом "+read["albom"].ToString() + " " + "Пісня " + read["song"].ToString() + " " + "Виконавець " + read["performer"].ToString() + " " + "Студія " + read["studio"].ToString()); } if (fl == false) listBox1.Items.Add("Нiчого не знайдено"); read.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } / Висновок Отже, на цій я закріпив отримані при вивченні даного курсу знання і навики проектування ER-моделі реляційної бази даних з використанням IE-нотації та реалізації цієї моделі для СКБД Microsoft SQL Server 2005 у вигляді SQL-сценарію діалектом мови Transact-SQL. Ознайомився з основними об’єктами моделі ADO.NET 2.0 та на їхній основі навчитися отримувати, модифікувати, зберігати, шукати та фільтрувати дані. Отримав навики розроблення клієнтських програм для баз даних з ієрархічною організацією структури даних.
Антиботан аватар за замовчуванням

20.04.2018 21:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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