Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Самостійна робота. 1. Середовища програмування мовою SQL




План лекції

Тема 9. Клієнт-сервер та мова SQL. Елементи мови SQL на прикладі transact-SQL. безпека В SQL SERVER 2005

Лекція № 9

1. Середовища програмування мовою SQL. Ідентифікатори мови TRANSACT-SQL.

2. Типи даних мови TRANSACT-SQL.

3. Функції мовиTRANSACT-SQL.

4. Доступ до метаданих. Огляд безпеки SQL Server 2005.

Зміст лекції

SQL (Structured Query Language - мова структурованих запитів) - мова, вживана для створення, модифікації і управління даними в реляційних базах даних.

SQL в його базовому виді є інформаційно-логічною мовою, а не мовою програмування. В той же час стандарт мови специфікацією SQL/PSM передбачає можливість його процедурних розширень, з урахуванням яких мова вже цілком може розглядатися як мова програмування.

SQL грунтується на реляційній алгебрі і реляційному численніМова SQL є реляційно повною. Це означає, що будь-який оператор реляційної алгебри або формули реляційного числення може бути виражений відповідним оператором SQL. Знання теоретичних основ мови SQL дозволяє не лише краще розуміти конструкції мови, але і будувати їх оптимальним чином на основі апріорних оцінок можливих планів виконання запитів.

Мова SQL стала фактично стандартною мовою доступу до баз даних. Усі СУБД, що претендують на назву "реляційні", реалізують той або інший діалект SQL. У СУБД MS SQL Server 2008 реалізована мова Transact - SQL. Багато нереляційних систем також мають нині засоби доступу до реляційних даних. Так, наприклад, постреляційна (об'єктна) СУБД Caсhe має у своєму складі мову Cache - SQL для доступу до даних. Метою стандартизації в даному випадку є переносимість додатків між різними СУБД.

Починаючи з середини 80-х років двадцятого століття, було розроблено декілька стандартів мови SQL. Треба помітити, що нині, жодна система управління не реалізує той або інший стандарт SQL в повному об'ємі. Крім того, в усіх діалектах мови є можливості, що не є стандартними. Таким чином, можна сказати, що кожен діалект - це надмножина деякої підмножини стандарту SQL. Це утрудняє переносимість додатків, розроблених для одних СУБД в інші СУБД.

Проте, знання основ мови SQL і досвід використання одного з його діалектів у складі однієї з СУБД дозволяють досить швидко освоювати засоби розробки додатків, наявні в інших СУБД.

Мова SQL оперує термінами, що дещо відрізняються від термінів реляційної моделі. Наприклад, замість поняття "відношення" використовується "таблиця", замість поняття "кортеж" - "рядок", замість поняття "атрибут" - "колонка" або "стовпець".

Стандарт мови SQL, хоча і заснований на реляційній теорії, але в багатьох місцях відходить він її. Наприклад, відношення в реляційній моделі даних не допускає наявності однакових кортежів, а таблиці в термінології SQL можуть мати однакові рядки. Є і інші відмінності, частина з яких буде відмічена в цій лекції.

Кожен варіант стандарту мови SQL можна було трактувати як визначення моделі даних відповідно до критеріїв Едгара Кодда. Починаючи із стандарту SQL:89 було визначене, що SQL -ориентированная база даних складається з таблиць, в стовпцях яких можуть міститися дані типів, специфікованих в стандарті. Говорилося, що в таблицях можуть визначатися первинний і можливий ключі, і в цьому випадку СУБД повинна підтримувати унікальність їх значень. Деяким чином була потрібна підтримка посилальної цілісності. Нарешті, "абстрактним" механізмом маніпулювання даними виступали засоби самої мови SQL.

У стандарті SQL:89, визначення хоч би одного можливого ключа в таблиці було необов'язковим, так що в таких таблицях могли бути присутній рядки-дублікати, вони не були безліччю рядків; отже, вони не були аналогами стосунків реляційної моделі даних. У заголовках таблиць був присутній неявний порядок імен стовпців, отже, вони не були аналогами заголовків стосунків реляційної моделі даних. У стовпцях таблиць, разом зі значеннями, що типізуються, могли зберігатися невизначені значення, що не типізувалися, викликають необхідність у використанні тризначної логіки і призводять до іноді парадоксальних ситуацій.

З іншого боку, тільки в стандарті SQL:92 були явно введені конструкції визначення базових таблиць, а тим самим, і можливості визначення первинних і можливих ключів. Тільки у стандарті SQL:1999 був специфікований повний набір типів даних, значення яких можуть бути присутній в стовпцях таблиць SQL -ориентированных баз даних, що параметризувалися, генерованих і визначуваних користувачами. У міру розвитку стандарту розширювалися і уточнювалися засоби підтримки посилальної цілісності і маніпулювання даними і так далі

Трактування стандарту SQL як специфікації деякої особливої моделі даних SQL стала дійсно актуальною після появи стандарту SQL:1999. До цього стверджувалося, що мова SQL багато в чому наслідує реляційну модель даних, але з деякими відхиленнями, які слід мати на увазі. Проте поява "об'єктних розширень" в SQL:1999, наприклад, повної системи типів, робить закінченою власну модель SQL, ще більше віддаляє модель SQL від класичної реляційної моделі даних Кодда. Тим самим створює потребу в зіставленні моделі SQL з об'єктною моделлю ODMG і "істинно реляційною" моделлю Крістофера Дейта і Х'ю Дарвена.

Розуміння відмінностей моделі даних SQL від реляційної моделі даних дуже важливе для проектувальників, адміністраторів і розробників додатків SQL -ориентированных баз даних. Сьогоднішня модель даних SQL включає класичну реляційну модель даних, хоча розходиться в частині механізму типів даних з "істинно реляційною" моделлю. Очевидною перевагою класичної реляційної моделі даних є її власна простота і простота баз даних і їх застосувань, що виходить з неї. Тому при використанні SQL треба явно усвідомлювати реальну потребу використання можливостей, що виходять за межі класичної реляційної моделі даних.




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 469; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.