Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции2011.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.86 Mб
Скачать

Контрольные вопросы

  1. Перечислите основные фазы жизненного цикла системы баз данных

  2. Какие требования предъявляются к методологии проектирования БД?

  3. Какие основные результаты этапа определения стратегии?

  4. Перечислите основные результаты этапа анализа предметной области

  5. Объясните результаты логического и физического проектирования

  6. Что определяется на этапе концептуального проектирования?

Раздел 2. Язык sql и его возможности

Тема 2.1 История языка sql. Создание и редактирование схемы бд

Цель: рассмотреть основные этапы развития языка SQL, назначение его подъязыков, рассмотреть основные команды создание базы данных и таблиц, как основных объектов БД; команды удаления таблицы и обновления структуры

1. Развитие языка sql

SQL - это язык, который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации, сохраняемой в таблицах.

Мир баз данных становится все более и более единым, что привело к необходимости создания стандартного языка, который мог бы использоваться, чтобы функционировать в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять и передавать информацию, независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ. В нашем все более и более взаимосвязанном компьютерном мире, пользователь, снабженный таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов.

Элегантность и независимость от специфики компьютерных технологий, а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL, и вероятно в течение обозримого будущего оставит его, основным стандартным языком. По этой причине, любой, кто хочет работать с базами данных 90-х годов, должен знать SQL.

Стандарт SQL определяется ANSI (American National Standard Institute — Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (International Standard OrganizationМеждународной Организацией по Стандартизации). Однако большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя разные другие особенности в этот язык, которые, как они считают, будут весьма полезны. В наших лекциях, мы будем, в основном, следовать стандарту ANSI, но одновременно иногда будем показывать и некоторые наиболее общие отклонения от его стандарта. Вы должны проконсультироваться с документацией вашего пакета программ, который вы будете использовать, чтобы знать, где в нем этот стандарт видоизменен.

Если пользователю необходимо получить информацию из базы данных, он запрашивает ее у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных, отсюда и название структурированный язык запросов.

Инструкции SQL напоминают английские предложения и содержат «слова-пустышки», не влияющие на смысл инструкции, но облегчающие ее чтение.

SQL – это достаточно мощный и в то же время относительно легкий для изучения язык.

Сам по себе язык SQL не является ни системой управления базами данных, ни отдельным программным продуктом. Нельзя пойти и «купить SQL». SQL – это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с нею.

SQL выполняет много различных функций:

  • SQL – язык интерактивных запросов. Пользователи вводят команды SQL в интерактивных программах с целью выборки данных и отображения их на экране.

  • SQL – язык программирования баз данных. Чтобы получить доступ к базе данных программисты вставляют в свои программы команды SQL.

  • SQL – язык администрирования баз данных. Администратор БД, находящейся на сервере, использует SQL для определения структуры базы данных и управления доступом к данным.

  • SQL – язык создания приложений клиент/сервер. В программах для персональных компьютеров SQL используется как средство организации связи по локальной сети с сервером БД, в которой хранятся совместно используемые данные.

  • SQL – язык доступа к данным в среде Internet. Используется как стандартный язык для доступа к корпоративным БД.

  • SQL – язык распределенных баз данных. В СУ распределенными базами данных SQL помогает распределять данные среди нескольких взаимодействующих вычислительных систем. Программное обеспечение каждой системы посредством SQL связывается с другими системами, посылая им запросы на доступ к данным.

  • SQL – язык шлюзов баз данных. Позволяет СУБД одного типа связываться с СУБД другого типа.

SQL — это язык, ориентированный специально на реляционные базы данных. Он устраняет много работы, которую вы должны были бы сделать если бы вы использовали универсальный язык программирования. Команды в SQL могут работать со всеми группами таблиц как с единым объектом и могут обрабатывать любое количество информации, извлеченной или полученной из их, в виде единого модуля.

Имеются два SQL: Интерактивный (Interactive) и Встроенный (Embedded). Большей частью, обе формы работают одинаково, но используются различно.

Интерактивный SQL используется для функционирования непосредственно в базе данных, чтобы производить вывод для использования его заказчиком. В этой форме SQL, когда вы введете команду, она сейчас же выполнится, и вы сможете увидеть вывод (если он вообще получится) — немедленно.

Встроенный SQL состоит из команд SQL, помещенных внутри программ, которые обычно написаны на некотором другом языке (типа КОБОЛА или Паскаля). Это делает эти программы более мощными и эффективным. Однако, допуская эти языки, приходится иметь дело со структурой SQL и стилем управления данными, который требует некоторых расширений к интерактивному SQL. Передача SQL команд во встроенный SQL является выдаваемой ("passed off") для переменных или параметров используемых программой в которую они были вложены.

Интерактивный SQL — это форма наиболее полезная не программистам. Все, что вы узнаете относительно интерактивного SQL, в основном применимо и к вложенной форме.

Подразделы SQL

Можно выделить следующие группы операторов (перечислены не все операторы SQL):

Операторы DDL (Data Definition Language) - операторы определения объектов базы данных

Операторы DML (Data Manipulation Language) - операторы манипулирования данными

Операторы DCL (Data Control Language) защиты и управления данными

Различные типы данных

Не все типы значений, которые могут занимать поля таблицы — логически одинаковые. Наиболее очевидное различие — между числами и текстом. Вы не можете помещать числа в алфавитном Заказе или вычитать одно имя из другого. Так как системы с реляционной базой данных базируются на связях между фрагментами информации, различные типы данных должны понятно отличаться друга от друга, так чтобы соответствующие процессы и сравнения могли быть в них выполнены.

В SQL это делается с помощью назначения каждому полю типа данных, который указывает на тип, значения, которое это поле может содержать. Все значения в данном поле должны иметь одинаковый тип. К сожалению, определение этих типов данных является основной областью, в которой большинство коммерческих программ баз данных и официальный стандарт SQL не всегда совпадают. ANSI SQL стандарт распознает только текст и тип номера, в то время как большинство коммерческих программ используют другие специальные типы. Такие как, DATA (ДАТА) и TIME (ВРЕМЯ) — фактически почти стандартные типы (хотя точный формат их меняется). Некоторые пакеты также поддерживают такие типы, как, например, MONEY (ДЕНЬГИ) и BINARY (ДВОИЧНЫЕ).

Тип для текста — CHAR (или СИМВОЛ), который относится к строке текста. Поле типа CHAR имеет определенную длину, которая определяется максимальным числом символов, которые могут быть введены в это поле. Больше всего реализаций также имеют нестандартный тип называемый VARCHAR (ПЕРЕМЕННОЕ ЧИСЛО СИМВОЛОВ), который является текстовой строкой, которая может иметь любую длину до определенного реализацией максимума (обычно 254 символа). CHARACTER и VARCHAR значения включаются в одиночные кавычки как 'текст'. Различие между CHAR и VARCHAR в том, что CHAR должен резервировать достаточное количество памяти для максимальной длины строки, а VARCHAR распределяет память так, как это необходимо.

Символьные значения сохраняются в компьютере как двоичные значения, но показываются пользователю как печатный текст.

Таблица 2.2 -Типы данных, определенные в стандартах

Тип данных

Описание

CHAR (длина)

Строки символов постоянной длины

CHARACTER (длина)

VARCHAR (длина)

Строки символов переменной длины

CHAR VARYNG (длина)

CHARACTER VARYNG (длина)

NCHAR (длина)

NATIONAL CHAR (длина)

NATIONAL CHARACTER (длина)

Строки локализованных символов постоянной длины

NCHAR VARYNG (длина)

Строки локализованных символов переменной длины

NATIONAL CHAR VARYNG (длина)

NATIONAL CHARACTER VARYNG (длина)

INTEGER

Целые числа

INT

SMALLINT

Маленькие целые числа

BIT (длина)

Строки битов постоянной длины

BIT VARYNG (длина)

Строки битов переменной длины

NUMERIC (точность, степень)

Масштабируемые целые (десятичные) числа

DECIMAL (точность, степень)

DEC (точность, степень)

FLOAT (точность)

REAL

Числа с плавающей запятой низкой точности

DOUBLE PRECISION

Числа с плавающей запятой высокой точности

DATE

Календарная дата

TIME(точность)

Время

TIMESTAMP (точность)

Дата и время

INTERVAL

Временной интервал