Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

sql server+c++

.pdf
Скачиваний:
18
Добавлен:
07.06.2015
Размер:
2.12 Mб
Скачать

Таблиця 6.2. Перелік баз даних

1. «Облік успішності студентів інституту»

Інформація, що має відображатися у БД:

Студент: П.І.Б., фотографія, автобіографія (rtf-текст), шифр групи, спеціальність, рік вступу, рік народження, дом. адреса, поточний рейтинг, розмір стипендії, перелік вивчених навчальних дисциплін, результати модулю №1 для дисциплін, результати модулю №2, вид контролю (екзамен/залік), семестрова оцінка за 100 бальною шкалою, семестрова оцінка за 5 бальною шкалою, № семестру у якому вивчалась дисципліна, викладач дисципліни.

2. «Облік телефонних абонентів»

Інформація, що має відображатися у БД:

Абонент: № тел., П.І.Б., фотографія абонента, адреса, тип підключення (пряма тел. лінія, радіоканал, GSM-канал), текст угоди (rtf-текст), абон. плата згідно тарифу, вартість хвилини розмови згідно тарифу, статистична інформація щодо кількості хвилин розмови абонента кожного місяця + борг на кінець кожного місяця + сума до сплати на кінець кожного місяця.

*Тарифи визначаються згідно типу підключення.

3.«Облік продуктових товарів на складі»

Інформація, що має відображатися у БД:

Товар: тип, назва, зображення продукту, опис харчових цінностей продукту (rtf-текст), тара, ціна, кількість/вага в одиниці тари, термін зберігання, перелік постачальників, телефони постачальників, адреси постачальників, П.І.Б директорів постачальників, перелік №(номерів) накладних з датами, за якими отримано даний товар від певних постачальників.

4. «Облік фонотеки на радіостудії»

Інформація, що має відображатися у БД:

Пісня: назва пісні, назва альбому, зображення обкладинки альбому, тривалість пісні, порядковий номер в альбомі, виконавець, біографія виконавця (rtf-текст), країна виконавця, рік народження виконавця, студія запису альбому, адреса студії запису, виконавчий директор студії запису, рік запису, каталожний № альбому.

5. «Облік мешканців у районній поліклініці»

Інформація, що має відображатися у БД:

Мешканець: П.І.Б., фотографія, рік народж., група крові, адреса, інформація про перенесені важкі хвороби та наявні алергії (rtf-текст), П.І.Б. лікуючих лікарів, спеціальності лікарів, № кабінетів лікарів, телефони лікарів, дати відвідувань поліклініки, скарги мешканця на

109

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

6. «Облік транспортних засобів у ДАІ»

Інформація, що має відображатися у БД:

Транспортний засіб: фотографія транспорту, категорія, марка, об’єм двигуна, рік випуску, колір, держ. №, особливості транспорту (rtfтекст), П.І.Б. власника транспортного засобу, рік народження власника, адреса власника, телефон власника, дати проведення технічного огляду, сума знятого з власника мита за транспортний засіб під час кожного огляду, граничні дати проведення наступних оглядів (для кожної дати проведення)

*Сума мита має вибиратися згідно категорії та об’єму двигуна транспортного засобу.

7.«Облік працівників на підприємстві»

Інформація, що має відображатися у БД:

Працівник: П.І.Б., фотографія, посада, посадові обов’язки (rtf-текст), безпосередній керівник, освіта, спеціальність, стаж, рік народж., адреса, службовий телефон, домашній телефон, службова характеристика, перелік заохочень/стягнень, дати заохочень/стягнень, займані посади на кожну дату заохочення/стягнення, підстави для кожного заохочення/стягнення.

*Реалізувати залежність «підлеглий-керівник» у вигляді ієрархічної структури.

8. «Облік книжок у бібліотеці»

Інформація, що має відображатися у БД:

Книжка: зображення обкладинки, назва, автор, рік видання, видавництво, короткий зміст (rtf-текст), ціна, жанр, дати надходження, кількість надходження, інвентарний номер кожної окремої книжки, поточна наявність кожної книжки (так/ні), дати видачі, П.І.Б читачів, що отримали, адреси читачів, роки народження читачів, контактні телефони читачів, дати повернення книжок.

9. «Облік приладів у науково-дослідному центрі»

Інформація, що має відображатися у БД:

Прилад: зображення приладу, тип, марка, серійний номер, інвентарний №, характеристики (rtf-текст), виробник, адреса виробника, телефон виробника, дата придбання/отримання приладу наук.-досл. центром, дати видачі приладу працівникам, П.І.Б.

110

працівників, що отримували прилад, із зазначенням посади та їхніх № лабораторій, дати повернення.

10. «Облік платників за воду серед населення»

Інформація, що має відображатися у БД:

Платник: П.І.Б., фотографія платника, особистий рахунок, адреса платника, текст угоди (rtf-текст), перелік оплат за воду (із зазначенням місяця, року, поточного тарифу, об’єму споживання, суми пільг, боргу та загальної суми), № ЖЕКу, що обслуговує платника, адреса ЖЕКу, П.І.Б. начальника ЖЕКу.

* Передбачити перелік поточних тарифів, із зазначенням дат їхніх введень у дію.

11. «Облік відеотеки на телестудії»

Інформація, що має відображатися у БД:

Запис: тип запису, назва запису, короткий зміст (rtf-текст), дата отримання, дата створення, тривалість, автор запису, фотографія автора, адреса автора, агентство/студія, в якій працює автор, адреса агентства/студії, П.І.Б. директора агентства/студії, № телефону агентства/студії, № касети, де розміщується запис.

12. «Облік платників за електроенергію серед населення»

Інформація, що має відображатися у БД:

Платник: П.І.Б., фотографія платника, особистий рахунок, адреса, текст угоди (rtf-текст), перелік оплат за електроенергію (із зазначенням місяця, року, кількості спожитої енергії, поточного тарифу за 1 кВт, суми пільг, боргу та загальної суми до оплати), П.І.Б. електрика, що обслуговує мешканця, контактний телефон електрика.

* Передбачити перелік поточних тарифів, із зазначенням дат їхніх введень у дію.

13. «Облік електротоварів у магазині»

Інформація, що має відображатися у БД:

Товар: зображення товару, назва, марка, опис технічних характеристик товару (rtf-текст), ціна, кількість, перелік постачальників, телефони постачальників, адреси постачальників, П.І.Б директорів постачальників, перелік №(номерів) накладних з датами, за якими отримано даний товар від певних постачальників.

14. «Облік замовлень на роботи в будівельній фірмі»

Інформація, що має відображатися у БД:

Замовлення: дата замовлення, № проекту, назва проекту, опис проекту (rtf-текст), фотографія об’єкту, П.І.Б. замовника, адреса замовника, телефонний номер замовника, вид робіт, перелік кількості матеріалу+робіт із зазначенням одиниць вимірювань та ціни за

111

одиницю, тип замовлення, загальна ціна замовлення, кінцева дата виконання, реальна дата виконання.

* На одному проекті можуть одночасно виконуватися декілька робіт, до того ж від різних замовників (субпідрядників).

15. «Облік ліків у аптеках міста»

Інформація, що має відображатися у БД:

Ліки: назва, фотографія упаковки з ліками, розфасовка, кількість в упаковці, класифікація за призначенням, інструкція (rtf-текст), перелік аптек (№ аптеки, адреса, № телефону, П.І.Б директора), де є в наявності дані ліки, наявна кількість одиниць ліків у перерахованих аптеках.

16. «Облік рецептів страв у ресторані»

Інформація, що має відображатися у БД:

Страва: фотографія готової страви, назва, тип страви, тип кухні, калорійність, перелік компонентів та їх кількість (із зазначенням одиниць виміру, ціною за одиницю та конкретного виробника), рецепт приготування (rtf-текст).

*У БД передбачити додаткову інформацію (країна, контактний телефон відділу маркетингу) для виробників.

17.«Облік фільмів у прокатному пункті»

Інформація, що має відображатися у БД:

Фільм: назва фільму, рік створення, тривалість, жанр, студія, перелік акторів з фотографіями (із зазначенням імені, країни народження, року народження, короткої біографії (rtf-текст) ), № касети, де розміщується запис.

*На одній касеті може розміщуватися декілька записів. Про касету у БД мають міститись такі відомості: тип касети, дата запису, виконавець запису.

18.«Облік платників за газ серед населення»

Інформація, що має відображатися у БД:

Платник: П.І.Б., фотографія, особистий рахунок, адреса, текст угоди (rtf-текст), перелік оплат за електроенергію (із зазначенням місяця, року, об’єму споживання, тарифної ціни за одиницю, суми пільг, боргу та загальної суми до оплати), назва установи, що виконує перевірки цілісності та опломбованості газотранспортної системи, контактні телефони цієї установи.

*Передбачити перелік поточних тарифів, із зазначенням дат їхніх введень у дію.

112

19. «Облік місць у поїздах у касах продажу»

Інформація, що має відображатися у БД:

Місця: Дата відправлення, № місця, № вагона, тип вагона, № поїзда, розклад руху (rtf-текст), тип поїзда, фотографія поїзда, місто відправлення, місто прибуття, ціна, вільно/продано/заброньовано (лише ці три значення, і ніякі інші).

* Ціна місця визначається згідно типу поїзда та вагона.

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

20. «Перелік радіодеталей»

Інформація, що має відображатися у БД:

Радіодеталь: Тип, марка, фотографія радіодеталі, рисунок з маркуванням виводів, опис характеристик (rtf-текст), орієнтовна ціна із зазначенням грошової одиниці (гривні, долари, рублі і т.д.), ціна у гривнях згідно курсу Нацбанку, виробник (із зазначенням країни, поштового адресу, контактних телефонів, електронного адресу, вебсторінки), перелік радіозамінників.

* Якщо одна радіодеталь може бути замінником в іншої, то зворотна заміна не завжди є справедливою. Відповідно, список замінників можна реалізувати у вигляді рекурсивної структури «багато до багатьох».

7. Зміст пояснювальної записки

(виконують на аркушах паперу А4)

1.Титульна сторінки має містити: назву міністерства, університету, кафедри, назву роботи, номер варіанту, назву групи, прізвище та ініціали виконавця, дані про керівника роботи.

2.Мета роботи.

3.Завдання, згідно варіанту, до контрольної роботи.

4.ER-діаграму спроектованої бази даних.

5.SQL-сценарій для створення та заповнення першопочатковими даними бази даних.

6.Вигляд клієнтської частини програми та частину програмного коду, що стосується взаємодії з базою даних.

7.Висновки.

113

8.Контрольні запитання

1.Яка основна відмінність між ER-моделями IDEF1X та IE?

2.Як позначаються на ER-діаграмах різні типи зв’язків?

3.Як позначається на ER-діаграмах кардинальне число зв’язку?

4.Які є позначення для правил видалення та обновлення стрічок у зв’язаних таблицях?

5.На основі якої системної бази в MS SQL Server створюються всі решта бази даних?

6.Що означає ключове слово IDENTITY в SQL-сценарію?

7.Який синтаксис створення обчислювальних стовпців?

8.Скількома способами можна створити первинний ключ у SQLсценарію?

9.Що автоматично ще створюється разом зі створенням первинного ключа?

10.Поясніть структуру моделі ADO.NET.

11.Що представляє собою об’єкт DataSet?

12.Що таке параметризовані запити?

13.Що таке XSD-схема?

14.Як поводять себе автоінкрементні стовпці в моделі DataSet?

15.Що представляє собою об’єкт BindingSource?

16.Які відмінності між елементами керування DataGridView та

DataGrid?

9.Список літератури

1.Michael J. Hernandez. Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design, 2nd Edition – Addison-Wesley Professional. – 2003. – 672 p.

2.Gavin Powell. Beginning Database Design. – Wiley Publishing, Inc. – 2006. – 496 p.

3.Роб П., Коронел К. Системы баз данных: проектирование, реализация и управление. – 5-е изд., перераб. и доп.: Пер. с англ. – СПб.:

БХВ-Петербург. – 2004. – 1040 с.

4.Роберт Виейра. Программирование баз данных Microsoft SQL Server 2005 для професионалов.: Пер. с англ. – М.: ООО «И.Д.

Вильямс». – 2008. – 1072 с.

5.Майкл Дж. Хернандес, Джон Л. Вьескас. SQL-запросы для простых смертных. Практическое руководство по манипулированию данными в SQL.- Изд. "Лори". - 2003. - 480 с.

114

6.Кен Хендерсон. Профессиональное руководство по Transact-SQL.:

Пер. с англ. – СПб.:: Изд. «Питер». – 2005. – 557 с.

7.Фленов М.Е. Tracnsact-SQL. – СПб.: БХВ-Петербург. – 2006. –576 с.

8.Бен Форта. Освой самостоятельно SQL. 10 минут на урок, 3-е изд.: Пер. с англ. – М. : Изд. дом «Вильямс». – 2005. – 288 с.

9.Кевин Клайн. SQL. Справочник, 2-е издание / Пер. с англ. – М.:

КУДИЦ-ОБРАЗ. – 2006. – 832 с.

10.Дэвид Сеппа. Программирование на Microsoft ADO.NET 2.0. Мастер-класс.: Пер. с англ. – М.: Изд. «Русская редакция», СПб.:

Питер. – 2007. – 784 с.

11.Сахил Малик. Microsoft ADO.NET 2.0 для професионалов.: Пер. с

англ. – М.: ООО «И.Д. Вильямс». – 2006. – 560 с.

12.Гордон Хогенсон. С++/CLI: язык Visual C++ для среды .NET. Пер. с

англ. – М.: ООО «И.Д. Вильямс». – 2007. – 464 с.

13.Розроблення проекту бази даних Microsoft SQL Server 2005: Інструкція до лабораторної роботи № 1 з курсу “Бази даних та знань” для студентів базового напряму 050201 “Системна інженерія” / Укл.: У.Ю. Дзелендзяк, А.Г. Павельчак, В.В. Самотий – Львів: Львівська політехніка. – 2008. – 64 с.

14.Отримання даних та статистичної інформації з бази даних за допомогою запитів мовою T-SQL: Інструкція до лабораторної роботи № 2 з курсу “Бази даних та знань” для студентів базового напряму 050201 “Системна інженерія” / Укл.: У.Ю. Дзелендзяк, А.Г. Павельчак, В.В. Самотий – Львів: Львівська політехніка. – 2009. – 56 с.

15.Бітова арифметика. Алгоритмічна реалізація коду Грея. Створення консольних Windows-програм на основі Microsoft Visual Studio

.NET: Інструкція до лаб. роботи № 1 з дисц. “Основи збору,

передавання та обробки інформації” для студ. баз. напряму 050201 “Системна інженерія” / Укл.: А.Г. Павельчак, Р.В. Проць, В.В. Самотий – Львів: НУЛП, 2008. – 44 с.

16.Алгоритмічна реалізація циклічного кодера та декодера. Створення

Windows Forms програм на основі Microsoft Visual Studio .NET:

Інструкція до лаб. роботи № 2 з дисц. “Основи збору, передавання та обробки інформації” для студ. баз. напряму 050201 “Системна інженерія” / Укл.: А.Г. Павельчак, Р.В. Проць, В.В. Самотий – Львів: НУЛП, 2008. – 32 с.

17.http://www.connectionstrings.com Опис стрічок підключення для різних систем керування базами даних.

115

ЗМІСТ

1.Поняття ER-діаграм баз даних …………………………………. 1

2.Схематичне зображення IE-нотації ……………………………. 3

2.1.Таблиці та стовпці …………………………...…………….. 3

2.2.Зв’язки ……..………………………………………………... 5

3. Основні конструкції SQL-сценарію для створення БД …….… 13

3.1.Оператори визначення даних DDL ……………………….. 13

3.2.Створення Бази Даних ……………………………………. 13

3.3.Створення Таблиці ………………………………………... 16

3.3.1.Створення стовпців …………………………………... 16

3.3.2.Створення обчислювальних стовпців………………. 18

3.3.3.Створення первинного ключа ………………………. 19

3.3.4. Створення унікального (альтернативного) ключа …

22

3.3.5. Створення перевірного обмеження CHECK ………..

23

3.3.6. Створення зовнішнього ключа ………………………

24

3.4.Створення Індексів ………………………………………... 28

3.5.Додавання стрічок з даними у таблицю …………………. 30

4.Розроблення клієнтської частини на основі ADO.NET 2.0 ….. 32

4.1. Структура моделі ADO.NET ……………………………… 32

4.2.Модель БД для розроблюваного прикладу клієнта …….. 36

4.3.Проектування клієнта …………………………………….. 37

4.3.1.Новий проект + XSD-схема бази даних …………….. 37

4.3.2. Налаштування автоінкрементних стовпців…………

43

4.3.3. Відображення однієї таблиці на формі програми ….

44

4.3.4. Відображення на формі зв’язку «1:M»………………

48

А. Підтримка цілісності значень ………………………..

49

Б. Реалізація реляційної схеми «головний-підлеглий» ..

52

4.3.5. Відображення на формі зв’язку «M:M» ……………. 55 А. Зовнішнє об’єднання стовпців ……………………… 56 Б. Локальне об’єднання стовпців ………………………. 60

4.3.6.Редагування довідкових таблиць у додатк. вікні ….. 61

4.3.7.Відображення на формі рекурсивного зв’язку …….. 64

4.3.8.Робота з компонентою DataGrid ……………………. 67

4.3.9.Фільтрація даних …………………………………….. 68

А. Фільтрування на рівні сервера ……………………… 69 Б. Локальна фільтрація …………………………………. 72

4.3.10.Робота з BLOB-даними …………………………….. 73

4.3.11.Особливості обновлення даних в об’єкті DataSet ... 77 А. Заповнення даними таблиць об’єкта DataSet ………. 77

Б. Очищення від даних таблиць об’єкта DataSet ………

78

В. Обновлення даних: БД → DataSet …………………...

79

Г. Обновлення даних: DataSet → БД …………………...

79

4.3.12.Розміщення стрічки підключення у зовнішн. файлі . 85

5.Додаткові відомості. Синтаксис обчислювальних виразів ….. 86

та фільтрів моделі ADO.NET …………………………………...

5.1.Назви стовпців у виразах ADO.NET ……………………... 86

5.2.Значення, що визначені користувачем …………………... 86

5.3.Оператори …………………………………………………... 86

5.4.Функції ……………………………………………………… 87

5.6.Статистичні функції для реляційного зв’язку …………... 88

6. Завдання для виконання контрольної роботи ………………… 90

7.Зміст пояснювальної записки …………………………………... 113

8.Контрольні запитання ………………………………………….... 114

9.Список літератури ……………………………………………….. 114

Навчальне видання

Проектування реляційної бази даних MS SQL Server 2005 та клієнтської програми на основі ADO.NET 2.0: Методичні вказівки та завдання до контрольної роботи з курсу “Бази даних та знань” для студентів базового напряму 6.0914 “Комп’ютеризовані системи, автоматика і управління” та базового напряму 050201 “Системна інженерія”.

Укладачі: Дзелендзяк Уляна Юріївна Павельчак Андрій Геннадійович Самотий Володимир Васильович

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]