Несовершенства языка SQL
SQL как формальный непроцедурный язык, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных. Сложность работы с иерархическими структурами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 08.06.2016 |
Размер файла | 19,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Национальный Минерально-Сырьевой университет «Горный»
Кафедра «Автоматизации технологических процессов и производств»
Реферат
по дисциплине: «Операционные системы и базы данных»
тема: «Несовершенства языка SQL»
Выполнил:
студент гр. АПМ-15
Юрин В.Д.
Проверил:
Кульчицкий А.А.
Санкт-Петербург 2016
Оглавление
- Введение
- 1. Несоответствие реляционной модели данных
- 2. Сложность
- 3. Отступления от стандартов
- 4. Сложность работы с иерархическими структурами
- Заключение
- Список литературы
Введение
SQL (Structured Query Language -- Структурированный язык запросов) -- язык управления базами данных для реляционных баз данных. Реляционные базы данных представляют собой совокупность взаимосвязанных таблиц, которые содержат информацию об объектах определенного типа. язык реляционный данный
У языка SQL множество преимуществ, о которых везде много написано. Я же в своей работе попытаюсь подробно рассказать о совершенствах данного языка.
1. Несоответствие реляционной модели данных
Реляционная модель представляет собой совокупность данных, состоящую из набора двумерных таблиц. Концепция реляционной модели данных была предложена в 1969 году Эдгаром Коддом, а в 1970 была им опубликована.
Создатели и сторонники реляционной модели данных указывают на то, что SQL не является истинно реляционным языком. В интервью источнику O'Reilly Network, Кристофер Дейт, один из крупнейших специалистов в области реляционной модели данных, указал на следующие дефекты SQL с точки зрения реляционной модели данных:
· SQL разрешает в таблицах строки-дубликаты, что в рамках реляционной модели данных невозможно и недопустимо
Одна из характеристик таблицы в реляционной базе - в таблице нет одинаковых строк.
· SQL поддерживает неопределенные значения (NULL)
Первое из требований реляционной модели данных -- требование целостности сущности -- означает, что первичный ключ должен полностью идентифицировать каждую сущность, а поэтому в составе любого значения первичного ключа не допускается наличие неопределенных значений.
Первичный ключ -- поле или набор полей, однозначно (уникально) идентифицирующих запись.
· SQL разрешает столбцы без имени и дублирующиеся имена столбцы.
В реляционной модели каждый столбец имеет уникальное, не повторяющееся в других столбцах имя.
2. Сложность
Изначально SQL задумывался как средство работы конечного пользователя, но в конечном итоге он стал настолько сложным, что превратился в инструмент программиста.
Конечный пользователь представляет работу с базами данных как приложение, программу, в которой все интуитивно понятно, которая не будет требовать особых навыков и логического мышления, но никак не сотни и тысячи строк программного кода, который написал один человек. В одной команде SELECT конечный пользователь может запутаться надолго. А помимо этой команды есть еще и множество других.
3. Отступления от стандартов
Несмотря на наличие международного стандарта ANSI SQL-92, многие разработчики СУБД вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL. Диалектом называется каждая из реализаций языка SQL в конкретной СУБД.
Выделяют три уровня соответствия стандарту -- начальный, промежуточный и полный. В наше время нет ни одного диалекта, полностью соответствующего стандарту. Производители СУБД применяют собственные реализации SQL, отвечающие как минимум начальному уровню соответствия стандарту и содержащие расширения, специфические для данной СУБД. Каждый производитель вводит все больше и больше расширений, что приводит к полной отличности отдельных диалектов друг от друга.
Основные примеры диалектов языка SQL:
· PL/SQL - в СУБД Oracle
· Transact-SQL - в СУБД Microsoft SQL
· Informix-SQL - в СУБД Informix
· Jet SQL - Microsoft Access.
Недостаток состоит в том, что различия в диалектах сильно затрудняют перенос из одной системы в другую.
4. Сложность работы с иерархическими структурами
Ранее диалекты SQL большинства СУБД не предлагали способа манипуляции древовидными структурами, ведь большинство СУБД - реляционные, т.е. представляют собой данные в двумерной таблице, в которой есть строки (записи) и столбцы (поля записей). Но мы часто встречаемся с иной организацией данных - иерархической.
Проблема в том, что данные, имеющие иерархическую структуру, очень плохо представляются в реляционной модели. В стандарте SQL-92 нет средств для их обработки. Эти средства появились лишь в стандарте SQL-1999. Но к тому времени в Oracle уже был собственный оператор CONNECT BY. Несмотря на это, в SQL-1999 синтаксис рекурсивных запросов совершенно не похож на синтаксис CONNECT BY и использует ключевое слово WITH. Реализация рекурсивных запросов в других СУДБ несколько запоздала, в MS SQL Server она появилась лишь в 2005.
Рекурсивные запросы используются довольно редко из-за их сложного и непонятного синтаксиса. Поэтому работа с иерархическими структурами довольно сложная, если не иметь особых навыков в данной области.
Заключение
В данной работе я рассмотрел несовершенства языка SQL. Несовершенств небольшое количество, но все они достаточно весомые в определенном контексте. В общей картине, недостатки не такие уж и большие, но если конкретизировать какой-то определенный аспект языка, то эти несовершенства могут усложнить работу с базами данных.
Список литературы
1 URL: http://archive.oreilly.com/lpt/a/6060 (дата обращения: 29.05.2016)
2 URL: http://sernam.ru/book_cbd.php?id=2 (дата обращения: 29.05.2016)
3 URL: http://progopedia.ru/language/sql/ (дата обращения: 29.05.2016)
4 URL: http://www.bseu.by/it/tohod/lekcii2_3.htm (дата обращения: 29.05.2016)
5 URL: http://informatic.ugatu.ac.ru/lib/office/Proekt.htm (дата обращения: 29.05.2016)
6 URL: http://citforum.ru/database/advanced_intro/12.shtml (дата обращения: 29.05.2016)
7 URL: http://www.bseu.by/it/tohod/lekcii7_4.htm (дата обращения: 29.05.2016)
8 URL: https://habrahabr.ru/post/43955/ (дата обращения: 29.05.2016)
Размещено на Allbest.ru
...Подобные документы
Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.
реферат [46,4 K], добавлен 01.11.2009Внутренний язык СУБД для работы с данными. Результат компиляции DDL-операторов. Описание DML-языка, содержащего набор операторов для поддержки основных операций манипулирования содержащимися в базе данными. Организация данных и управление доступом в SQL.
лекция [131,0 K], добавлен 19.08.2013Работа с хранящейся в базах данных информацией. Язык описания данных и язык манипулирования данными. Распространение стандартизованных языков. Структурированный язык запросов SQL. Язык запросов по образцу QBE. Применение основных операторов языка.
презентация [76,2 K], добавлен 14.10.2013Объекты модели хранения данных базы данных ORACLE. Взаимосвязь между логическими структурами. Средства манипулирования данными языка SQL, данными языка SQL. Структура выполнения простейших запросов. Формирование критерия отбора. Сортировка данных.
презентация [120,1 K], добавлен 14.02.2014Современные информационные технологии обработки данных, автоматизированного офиса и баз данных, сетевые интернет-технологии. Работа с системой управления базами данных (СУБД) MS Access, связанными списками MS Excel, текстовым редактором MS Word.
методичка [5,6 M], добавлен 01.07.2014Особенности управления информацией в экономике. Понятие и функции системы управления базами данных, использование стандартного реляционного языка запросов. Средства организации баз данных и работа с ними. Системы управления базами данных в экономике.
контрольная работа [19,9 K], добавлен 16.11.2010Рассмотрение совокупности программ и языковых средств (специальных языков описания и манипулирования данными), предназначенных для создания, ведения и использования баз данных. Определение языков общения. Исследование принципов построения банка данных.
реферат [56,9 K], добавлен 07.08.2017Иерархические, сетевые и реляционные модели данных. Различия между OLTP и OLAP системами. Обзор существующих систем управления базами данных. Основные приемы работы с MS Access. Система защиты базы данных, иерархия объектов. Язык программирования SQL.
курс лекций [1,3 M], добавлен 16.12.2010Понятие и структура банка данных. Основные структурные элементы базы данных. Система управления базами данных. Преимущества централизации управления данными. Понятие информационного объекта. Современные технологии, используемые в работе с данными.
курсовая работа [1,8 M], добавлен 02.07.2011Хранение и обработка данных. Компоненты системы баз данных. Физическая структура данных. Создание таблиц в MS Access. Загрузка данных, запросы к базе данных. Разработка информационной системы с применением системы управления базами данных MS Access.
курсовая работа [694,0 K], добавлен 17.12.2016Тенденция развития систем управления базами данных. Иерархические и сетевые модели СУБД. Основные требования к распределенной базе данных. Обработка распределенных запросов, межоперабельность. Технология тиражирования данных и многозвенная архитектура.
реферат [118,3 K], добавлен 29.11.2010Программные продукты компании Microsoft: Access, Visual FoxPro7.0, dBASE. Возможности интеграции, совместной работы и использования данных. Системы управления базами данных (СУБД), их основные функции и компоненты. Работа с данными в режиме таблицы.
курсовая работа [805,5 K], добавлен 15.12.2010Описание входных и выходных документов и сообщений. Проектирование реляционной базы данных. Разработка механизмов управления данными в базе при помощи триггеров. Разграничение полномочий пользователя. Организация обмена данными между приложениями.
курсовая работа [1,6 M], добавлен 22.06.2011Алгоритмы обработки массивов данных. Система управления базами данных. Реляционная модель данных. Представление информации в виде таблицы. Система управления базами данных реляционного типа. Графический многооконный интерфейс.
контрольная работа [2,8 M], добавлен 07.01.2007Основные виды баз данных. Система управления базами данных. Анализ деятельности и информации, обрабатываемой в поликлинике. Состав таблиц в базе данных и их взаимосвязи. Методика наполнения базы данных информацией. Алгоритм создания базы данных.
курсовая работа [3,1 M], добавлен 17.12.2014Использование различных программ Microsoft Office для создания таблиц. Системы управления базами данных (СУБД) как специальные программные средства, предназначенные для работы с файлами баз данных. Возможности работы с табличными данными в Excel.
контрольная работа [21,6 K], добавлен 20.02.2010Классификации баз данных по характеру сберегаемой информации, способу хранения данных и структуре их организации. Современные системы управления базами данных и программы для их создания: Microsoft Office Access, Cronos Plus, Base Editor, My SQL.
презентация [244,3 K], добавлен 03.06.2014Основные возможности системы управления реляционными базами данных (СУБД) Microsoft Access. Пользовательский интерфейс MS Access 2003. Команды панели инструментов окна БД. Область возможных режимов создания объектов. Создание таблиц в базе данных.
реферат [5,5 M], добавлен 08.11.2010Понятие и структура реляционной базы данных, ее основные элементы и их взаимодействие. Методика и основные этапы создания базы данных, ее назначение и сферы применения. Правила ввода данных в таблицы. Создание запроса к базе данных, отчетов и диаграмм.
учебное пособие [3,6 M], добавлен 19.12.2009Рассмотрение иерархической и реляционной моделей организации данных. Изучение структуры телеобработки информации. Анализ принципа действия повторителей, маршрутизаторов, шлюзов, коммутаторов. Этапы создания компьютерных информационных систем управления.
контрольная работа [328,4 K], добавлен 19.05.2010