Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Язык SQL. Команда выборки данных SELECT




Язык SQL. Команды создания базы данных и таблиц

Нормализация отношений РБД. Обоснование необходимости нормализации. Нормальные формы отношений. Нормализация через декомпозицию отношений.

Единственным средством структуризации данных является отношение. Совокупность отношений составляет реляционную БД. Отношения в РБД должно удовлетворять условию: каждое значение в отношении(т.е. значение каждого атрибута в каждом кортеже) должно быть атомарным (неделимым). Т.е. на пересечении любой строки и любого столбца в таблице должно быть точно одно значение. Отношения, удовлетворяющие этому условию, называются нормализованными.Основные свойства нормальных форм:

  1. каждая следующая нормальная форма в некотором смысле лучше предыдущей;
  2. при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

Существует шесть форм нормализации. На практике бывает необходимо и достаточно привести базу данных к третьей нормальной форме.

Таблица считается нормализованной на определенном уровне, когда она удовлетворяет условиям, накладываемым соответствующей формой нормализации. Рассмотрим первые три уровня нормализации:

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

2. таблица находится во второй нормальной форме, если она удовлетворяет требованиям первой нормальной формы и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.

3. таблица находится в третьей нормальной форме, если она удовлетворяет требованиям второй нормальной формы и ни одно из ее неключевых полей функционально не зависит от любого другого неключевого поля. Таким образом, это дополнительное требование сводится к тому, чтобы все неключевые поля зависели только от первичного ключа и не зависели друг от друга. Это обеспечивает независимое изменение любого неключевого поля.

Процесс, обратный нормализации называется деноромализацией.

Создание БД

CREATE DATABASE MyDB

ON

(NAME=MyDBroot,

FILENAME=’c:\mydbroot.mdf’,

SIZE=8MB,

MAXSIZE=9MB,

FILEGROWTH=100KB),

(NAME=MyDBroot1,

FILENAME=’c:\mydbroot1.ndf’,

SIZE=100MB,

MAXSIZE=150MB,

FILEGROWTH=100KB),

LOG ON

(NAME=Logdata1,

FILENAME=’e:\logdata1.ldf’,

SIZE=100MB,

MAXSIZE=150MB,

FILEGROWTH=100MB)

Пример создания таблицы:

CREATE TABLE Stud

(Nzk N(6) NOT NULL PRIMARY KEY,

fio C(20) NOT NULL UNIQUE,

dr d,

kurs i CHECK (kurs>0 and kurs<6)

ERROR ‘Курс в интервле от 1 до 5’ DEFAULT 1,

stip N(6,2) NULL DEFAULT 0,

gr C(6) NOT NULL REFERENCES Gruppa TAG n_gr,

FOREIGN KEY gr TAG n_gr REFERENCES Gruppa

)

Заданные ограничения в команде CREATE TABLE

Исключение пустых значений NOT NULL

Ограничение уникальности UNIQUE

Ограничение на первичный ключ PRIMARY KEY

Проверка значения полей CHECK

Установка значений по умолчанию, когда вставляем пустую запись в таблицу хотя бы одно поля должно иметь значение по умолчанию DEFAULT

Поддержка ограничения на связь (внешних и родительских ключей). Когда все значения в поле одной таблицы представлены в поле другой таблицы говорят, что первое поле ссылается на второе. Например, номер группы в таблице «Студент» ссылается на поле номер группы в таблице «Группа». Первое поле называется внешним ключом, второе родительским т.о. каждое значение внешнего ключа должно ссылаться к одному и только одному значению родительского ключа. Если это условие выполняется, то говорят, что данные таблицы находятся в состоянии ссылочной целостности. Для указания внешних ключей используется ключевое поле FOREIGN KEY.

Команда позволяет:

1. назначать поля, которые должны быть выбраны.

2. выбрать все поля

3. управлять вертикальными и горизонтальными порядком выбора полей

4. формировать собственные заголовки полей в выбранных результирующих таблицах

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

6. использовать текстовые константы в списке выбираемых вычислений

7. ограничивать число возвращаемых строк

8. формировать сложные условия поиска

9. устранять одинаковые строки ив результате

Пример: Student (Nzk, fio, dr, stip)

● Получит все сведения обо всех студентах

select * from Student

● Использование вычисления и текстовых констант

select ‘студент’,fio, ’получает’, stip*1.8, ’руб’ from Student

● Уничтожение дублирования в выводимых строках. Получить список групп в которой учится хотя бы один студент

Select DISTINCT gr from Student

● Ограничение на количество выводимых строк (первых 50 студентов)

Select top 50 fio, gr from Student

● Предиката BETWEEN. Получить список студентов, чьи фамилии начинаются на Петров, а заканчиваются на Иванов.

select fio, stip from Student WHERE fio BETWEEN ‘ИВ’ AND ‘Пет’

● Предиката IN. Получить список студентов 1,3 и 5-го курсов

select fio, gr from Student WHERE kurs IN (1,3,5)

● Предиката LIKE. Получить список студентов, чьи фамилии заканчиваются на «со»

select fio, gr from Student WHERE fio LIKE ‘%co’




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


Дата добавления: 2015-05-09; Просмотров: 874; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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