Курсова робота з дисципліни "Бази даних"
на тему "Структура мови SQL "
Зміст
Введення
1 Поняття бази даних та СУБД
1.1 Предметна область
1.2 Концепція баз даних
1.2.1 Незалежність додатків від організації даних у зовнішній пам'яті
1.2.2 Ефективність організації даних
1.2.3 Інтеграція даних
1.2.4 Що таке база даних
2. Типи даних SQL
2.1 Таблиці SQL
2.2 Структура мови SQL
2.3 Оператори SQL
Висновок
Глосарій
Список використаних джерел
Додаток А
Введення
Одним з основних переваг реляційного підходу до організації баз даних (БД) є те, що користувачі реляційних БД дістають можливість ефективної роботи в термінах простих і наочних понять таблиць, їх рядків і стовпців без потреби знання реальної організації даних у зовнішній пам'яті.
Реляційна модель даних, що містить набір чітких розпоряджень до базової організації будь реляційної системи управління базами даних (СКБД), дозволяє користувачам працювати в ненавігаційній манері, тобто для вибірки інформації з БД людина повинен всього лише вказати список цікавлять його таблиць і ті умови, яким повинні задовольняти вибирані дані. СУБД приховує від користувача виконувані їй послідовні перегляди таблиць, виконуючи їх найбільш ефективним чином. Дуже важлива особливість реляційних систем полягає в тому, що результатом виконання будь-якого запиту до таблиць БД є також таблиця, яку можна зберегти в БД і/або по відношенню до якої можна виконувати нові запити.
Базовим вимогою до реляційних СУБД є наявність потужного і в той же час простої мови, що дозволяє виконувати всі необхідні користувачам операції. В останні роки таким повсюдно прийнятим мовою стала мова реляційних БД SQL - Structured Query Language (тепер все частіше назва мови розуміється як Standard Query Language).
До появи SQL в СУБД (Незалежно від того, на якій моделі вони грунтувалися) доводилося підтримувати принаймні три мови, які зазвичай мали мало спільного: мова визначення даних (МОД), службовець для специфікації структур БД (зазвичай загальну структуру БД називають схемою БД); мова маніпулювання даними (ЯМД), що дозволяє створювати прикладні програми, які взаємодіють з БД; та мову адміністрування БД (ЯАДБ), за допомогою якого можна було виконувати службові дії (наприклад, змінювати структуру БД або проводити її настройку з метою підвищення ефективності). Крім того, якщо потрібно було надати користувачам СУБД інтерактивний доступ до БД, доводилося вводити ще одну мову, оператори якого виконуються в діалоговому режимі. Мова SQL дозволяє вирішувати всі ці завдання.
Слід зазначити, що до достоїнств мови SQL відноситься наявність міжнародних стандартів. Перший міжнародний стандарт був прийнятий в 1989 р., і відповідна версія мови називається SQL-89. Цей стандарт повністю підтримується практично в усіх сучасних комерційних реляційних СУБД (наприклад, в Informix, Sybase, Ingres, DB2 і т.д.). Стандарт SQL-89 в багатьох частинах має надзвичайно загальний характер і допускає дуже широке тлумачення. У цьому стандарті повністю відсутні такі важливі розділи, як маніпулювання схемою БД і динамічний SQL. Багато важливих аспектів мови відповідно до стандарту визначаються в реалізації.
Можливо, найбільш важливими досягненнями стандарту SQL-89 є чітка стандартизація синтаксису і семантики операторів вибірки і маніпулювання даними і фіксація засобів обмеження цілісності БД, що включають можливості визначення первинного і зовнішніх ключів відносин і так званих перевірочних обмежень цілісності, дозволяють сформулювати умову для кожної окремої рядки таблиці. Засоби визначення зовнішніх ключів дозволяють легко формулювати вимоги так званої цілісності БД по посиланнях. Формулювання обмежень цілісності на основі поняття зовнішнього ключа проста і зрозуміла.
Усвідомлюючи неповноту стандарту SQL-89, на тлі завершення розробки цього стандарту фахівці різних фірм почали роботу над стандартом SQL2. Ця робота також тривала багато років, було випущено кілька проектів стандарту, поки, нарешті, в березні 1992 р. не був вироблений остаточний проект стандарту (після чого стандарт і відповідною мовою стали називати SQL-92). Цей стандарт істотно повніший і охоплює практично всі необхідні для реалізації аспекти: маніпулювання схемою БД, управління транзакціями і сесіями (сесія - це послідовність транзакцій, в межах якої зберігаються тимчасові відносини), підключення до БД, динамічний SQL. Нарешті стандартизовані відносини-каталоги БД, що взагалі не пов'язане з мовою безпосередньо, але дуже сильно впливає на реалізацію. Зауважимо, що в стандарті представлені три рівні мови - базовий, проміжний і повний. Протягом декількох років після прийняття стандарту виробники СУБД, стверджували сумісність своїх продуктів до стандарту, насправді в кращому випадку підтримували проміжний рівень мови SQL-92 (природно, з власними розширеннями). Тільки в останніх випусках СУБД провідних виробників забезпечується сумісність з повним варіантом мови. Нарешті, одночасно із завершенням робіт за визначенням стандарту SQL-92 була розпочата розробка стандарту SQL3. Загальною точкою зору провідних виробників СУБД є те, що майбутні продукти, маючи більш розвиненими можливостями, повинні бути сумісні з попередніми випусками. Хоча багато розробників і користувачі реляційних СУБД усвідомлюють наявність багатьох непереборних недоліків мови SQL, від нього тепер уже неможливо відмовитися (як неможливо відмовитися від використання мови Сі в процедурному програмуванні). Отже, потрібен новий стандарт мови, що забезпечує такі очевидно необхідні можливості як визначувані користувачами типи даних, розвиненіші засоби визначення таблиць, наявність повного механізму тригерів і т.д. Потрібен саме стандарт, а не наявність розвинених приватних версій мови, оскільки це вигідно і виробникам і користувачам СУБД.
1 Поняття бази даних та СУБД
1.1 Предметна область
Основним призначенням інформаційних систем є зберігання відомостей про навколишній світ і процеси, які відбуваються в ньому, які в кінцевому підсумку надаються користувачам. Оскільки для різних груп людей інтерес представляють лише певні частини реального світу, то і дані кожної інформаційної системи будуть відноситься до певної області. Частина реальної системи, що підлягає дослідженню з метою її опису називається предметною областю.
Розрізняють повну предметну область і її фрагменти, при цьому кожен фрагмент може представляти свою предметну область. Наприклад, для університету можна виділити наступні фрагменти: навчальний відділ, бухгалтерія, відділ кадрів, бюро розкладів і т. д.
Інформація, необхідна для опису предметної області, може включати відомості про людей, предмети, документи, подіях, поняттях і т.д.
Кожна предметна область характеризується безліччю об'єктів - елементів реальних систем і процесів, що використовують об'єкти, а також безліччю користувачів, якi характеризуються єдиним поглядом на предметну область. Зокрема, для бухгалтерії об'єкти - всілякі документи. Процеси бухгалтерії - розрахунок заробітної плати, матеріальний облік, облік банківських операцій і ін Нарешті користувачі цього фрагмента співробітники бухгалтерії, працівники фінансових органів, керівники підприємства і т. д.
Кожен об'єкт має певним набором властивостей, які запам'ятовуються в інформаційній системі. При обробці даних часто доводиться мати справу з сукупністю однорідних об'єктів, наприклад, таких, як студенти або факультети, і записувати інформацію про одних і тих же властивостях для кожного з них. Сукупність об'єктів, що володіють однаковим набором властивостей, називається класом об'єктів. Для об'єктів одного класу набір властивостей буд...