Transcript Document

Министерство образования Республики Беларусь
Белорусский Государственный университет
Реферат
по информатике
студентки 1 курса группы ЭТ
Волковой Ольги
Минск 2007г.
Введение в реляционные
базы данных








Введение
Что такое реляционная база данных?
Связывание одной таблицы с другой
Произвольный порядок строк
Идентификация строк (первичные ключи)
Наименование и нумерация столбцов
Типовая база данных
Резюме
SQL: обзор









Как работает SQL?
Что делает ANSI?
Интерактивный и встроенный SQL
Подразделы SQL
Различные типы данных
Несогласованности SQL
Что такое пользователь?
Условия и терминология
Резюме
Использование SQL для
извлечения информации из
таблиц. Создание запроса











Что такое запрос?
Где применяются запросы
Команда SELECT
Выбирайте самый простой способ
Описание SELECT
Просмотр определенного столбца таблицы
Переупорядочивание столбцов
Удаление избыточных данных
Параметры DISTINCT
ALL вместо DISTINCT
Квалифицированный выбор при использовании
предложений (WHERE)
 Резюме
Типы данных в SQL

SQL
(обычно
произносится
"сэквэл")
означает
Структурированный
Язык
Запросов (Structured Query Language). Это —
язык, который дает вам возможность
создавать и работать в реляционных базах
данных,
которые
являются
наборами
связанной информации, сохраняемой в
таблицах.


Мир баз данных
становится все более и
более единым, что
привело к
необходимости создания
стандартного языка,
который мог бы
использоваться, чтобы
функционировать в
большом количестве
различных видов
компьютерных сред.
Стандартный язык
позволит пользователям,
знающим один набор
команд, использовать
их, чтобы создавать,
отыскивать, изменять и
передавать
информацию,
независимо от того,
работают ли они на
персональном
компьютере, сетевой
рабочей станции, или на
универсальной ЭВМ.

Пользователь имеет огромное
преимущество в
использовании и обобщении
информации из ряда
источников с помощью
большого количества
Реляционная база данных


— это связанная информация, сохраняемая в
двумерных таблицах. Напоминает адресную или
телефонную книгу. В книге имеется большое
количество
входов,
каждый
из
которых
соответствует определенной особенности. Для
каждой такой особенности, может быть несколько
независимых фрагментов данных, например имя,
телефонный номер, и адрес.
Каждая строка (называемая также записью) будет
соответствовать
определенной
особенности;
каждый столбец будет содержать значение для
каждого типа данных — имени, телефонного
номера, и адреса представляемого в каждой
строке.
Адресная книга могла бы
выглядеть следующим
образом:
Имя
Телефон
Адрес
Gerry Farish
(415)365-8775
127 Primrose Ave.,SF
Celia Brock
(707)874-3553
246 #3rd St., Sonoma
Yves Grillet
(762)976-3665
778 Modernas, Barcelona
Рассмотрим пример:

Предположим, что персонажи в нашей первой таблице
(адресной книги) — это пациенты больницы. В другой
таблице, мы могли бы запомнить дополнительную
информациюПациент
об этихДоктор
пациентах.
Страховка Баланс
Farish
Grillet
Brock


Drume
Halben
Halben
B.C./B.S.
None
Health,Inc.
$272.99
$44.76
$9077.47
Параметры таблицы включают в себя фрагменты
информации, связанные в различных таблицах друг с
другом. Например, возьмем докторов. Предположим,
доктор Halben захотел получить номера телефонов всех
своих пациентов. Чтобы извлечь эту информацию, он мог
бы связать таблицу с номерами телефонов пациентов (по
адресной книге) с таблицей, которая бы указывала, какой
из пациентов — его.
Программы реляционной базы данных разрабатывались
Идентификация строк
(первичные ключи)

В таблице вы должны иметь столбец, который бы
уникально идентифицировал каждую строку. Обычно
этот столбец содержит номер — например, номер
пациента, назначаемый каждому пациенту.

Такой уникальный столбец (или уникальная группа
столбцов), используемый, чтобы идентифицировать
каждую строку и хранить все строки отдельно,
называются первичными ключами таблицы.

Первичные ключи таблицы — важный элемент в
структуре базы данных. Когда вы хотите найти
определенную строку таблице, вы ссылаетесь к этому
первичному ключу.
Столбцы именуются и
нумеруются
Каждый столбец данной таблицы должен
иметь уникальное имя, чтобы избежать
неоднозначности. Лучше всего, если эти
имена указывают на содержание поля.
В типовых таблицах, мы будем
использовать такие сокращения для имени
столбца, как cname для имени заказчика, и
odate для даты Заказа. Мы также дадим
каждой таблице столбец с личным
числовым номером в качестве первичного
ключа.
Таблица 1.1: Продавцы
SNUM
1001
1002
1004
1007
1003
SNAME
Peel
Serres
Motika
Rifkin
Axelrod
CITY
London
San Jose
London
Barcelona
New York
COMM
.12
.13
.11
.15
.10
Таблица 1.2: Заказчики
CNU
M
2001
2002
2003
2004
2006
2008
2007
CNAME CITY
RATING SNUM
Hoffman
Giovanni
Liu
Grass
Clemens
Cisneros
Pereira
100
200
200
300
100
300
100
1001
1003
1002
1002
1001
1007
1004
CNUM
2008
2001
2007
2003
2008
2002
2004
2006
2004
2006
SNUM
1007
1001
1004
1002
1007
1003
1002
1001
1002
1001
London
Rome
SanJose
Berlin
London
SanJose
Rome
Таблица 1.3: Заказы
ONUM
3001
3003
3002
3005
3006
3009
3007
3008
3010
3011
AMT
18.69
767.19
1900.10
5160.45
1098.16
1713.23
75.75
4723.00
1309.95
9891.88
ODATE
10/03/1990
10/03/1990
10/03/1990
10/03/1990
10/03/1990
10/04/1990
10/04/1990
10/05/1990
10/06/1990
10/06/1990
Как работает SQL?

SQL — это язык, ориентированный
специально на реляционные базы
данных. Он устраняет много работы,
которую вы должны были бы сделать,
если бы вы использовали универсальный
язык программирования.

Команды в SQL могут работать со всеми
группами таблиц как с единым объектом
и могут обрабатывать любое количество
информации, извлеченной или
полученной из их, в виде единого модуля.
Что делает ANSI?



стандарт SQL определяется с помощью
кода ANSI (Американский Национальный
Институт Стандартов).
ANSI определил стандарт, к которому они
должны быть приведены (определение
таких стандартов и является функцией
ANSI).
Так как не всегда ANSI определяет то, что
является наиболее полезным, то
программы пытаются соответствовать
стандарту ANSI, не позволяя ему
ограничивать их слишком сильно.


Интерактивный и встроенный
SQL
Интерактивный SQL используется для
функционирования непосредственно в базе
данных, чтобы производить вывод для
использования его заказчиком.
Встроенный SQL состоит из команд SQL,
помещенных
внутри
программ,
которые
обычно написаны на некотором другом языке
(типа КОБОЛА или Паскаля). Это делает эти
программы более мощными и эффективным.
Подразделы SQL

DDL (Data Definition Language — Язык Определения
Данных) — так называемый Язык Описания Схемы в
ANSI, состоит из команд, которые создают объекты
(таблицы, индексы, просмотры, и так далее) в базе
данных.

DML
(Data
Manipulation
Language
—
Язык
Манипулирования Данными) — это набор команд,
которые определяют, какие значения представлены в
таблицах в любой момент времени.

DCL (Data Control Language — Язык Управления
Данными) состоит из средств, которые определяют,
разрешить ли пользователю выполнять определенные
действия или нет.
Тип данных


Так как системы с реляционной базой
данных базируются на связях между
фрагментами информации, различные
типы данных должны понятно отличаться
друга
от
друга,
так
чтобы
соответствующие процессы и сравнения
могли быть в них выполнены.
В SQL это делается с помощью
назначения каждому полю типа данных,
который указывает на тип, значения,
которое это поле может содержать.
Что такое пользователь?

Таблица или другой объект принадлежат
пользователю, который имеет над ним
полную власть.

Специальное
значение
—
USER
(ПОЛЬЗОВАТЕЛЬ) может использоваться
как аргумент в команде. Оно указывает
на
доступный
идентификатор
пользователя, выдавшего команду.
Создание запроса

Термин SQL означает
"Структурированный Язык Запросов".

Запросы — вероятно, наиболее часто
используемый аспект SQL.
Что такое запрос?

Запрос — команда, которую вы даете
вашей программе базы данных, и
которая сообщает ей, чтобы она
вывела определенную информацию
из таблиц в память



Все запросы в SQL состоят из
одиночной команды.
Структура этой команды обманчиво
проста, потому что вы должны
расширять ее так, чтобы выполнить
высоко сложные оценки и обработки
данных.
Эта команда называется — SELECT
(ВЫБОР).
Описание SELECT


Команда SELECT способна извлечь строго
определенную информацию из таблицы.
Сначала,
мы
можем
предоставить
возможность увидеть только определенные
столбцы таблицы. Это выполняется легко,
простым исключением столбцов, которые
вы не хотите видеть, из части команды
SELECT. Например, запрос
 SELECT sname, comm
FROM Salespeople;
будет производить вывод, показанный на
Рисунке 3.2.
=============== SQL Execution Log ============
| SELECT snum, comm
|
| FROM Salespeople;
|
| ==============================================|
|
sname
comm
|
|
--------------------|
|
Peel
0.12
|
|
Serres
0.13
|
|
Motika
0.11
|
|
Rifkin
0.15
|
|
Axelrod
0.10
|
===============================================
Рисунок 3.2: Выбор определенных столбцов
Типы ANSI











TEXT —Текст.
CHAR (CHARACTER) — Строка текста в формате,
определенном реализацией\ 'text‘\.
EXACT NUMERIC __ Точное число
DEC (DECIMAL) — Десятичное число.
NUMERIC
INT (INTEGER) — Число без десятичной точки.
SMALLINT — Такое же как INTEGER, размер по умолчанию
может (или не может) быть меньше, чем INTEGER.
APPROXIMATE
NUMERIC__Приблизительное число.
FLOAT — Число с «плавающей» запятой.
REAL — Такое же, как FLOAT, но никакого аргумента
размера не используется.
DOUBLE PRECISION (DOUBLE) — Такое же, как REAL, но
точность, определяемая реализацией для DOUBLE PRECISION
должна превышать определяемую реализацией точность
Эквивалентные типы
данных в других языках
SQL ТИП
CHAR
DECIMAL
INTEGER
FLOAT
ЭКВИВАЛЕНТ PL/1
CHAR
FIXED DECIMAL
FIXED BINARY
FLOAT BINARY
КОБОЛ
SQL ТИП
CHAR(<integer>)
INTEGER
NUMERIC
ЭКВИВАЛЕНТ КОБОЛА
PIC X (<integer>)
PIC S (<nines>) USAGE COMPUTATIONAL
PIC S (<nines with embedded V>) DISPLAY SING LEADING
SEPARATE
ПАСКАЛЬ
SQL ТИП
INTEGER
REAL
CHAR (<length>)
ЭКВИВАЛЕНТ ПАСКАЛЯ
INTEGER
REAL
PACKED ARRAY [1..<length>] OF CHAR
ФОРТРАН
SQL ТИП
CHAR
INTEGER
REAL
ЭКВИВАЛЕНТ ФОРТРАНА
CHAR
INTEGER
REAL
DOUBLE PRECISION
DOUBLE PRECISION
Структурированный
язык запросов SQL
даёт возможность эффективно работать
с многочисленными таблицами данных,
используя улучшенную технику для
запроса более чем одной таблицы
одновременно, строить комплекс
запросов и подзапросов, и использовать
представления, чтобы создавать базы
данных и работать с базами данных
раздельно с многими таблицами.

Элегантность
и
независимость
от
специфики компьютерных технологий, а
также
его
поддержка
лидерами
промышленности в области технологии
реляционных баз данных, сделало SQL, и
вероятно в течение обозримого будущего
оставит
его,
основным
стандартным
языком. По этой причине, любой, кто хочет
работать с базами данных 90-х годов,
должен знать SQL.