Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vse_otvety_1.doc
Скачиваний:
12
Добавлен:
01.03.2025
Размер:
847.36 Кб
Скачать

55 Транзитивная зависимость. 3-я нормальная форма. Примеры

Схема отношений R находится в 3НФ относительно множества функциональных зависимостей F, если она находится в 1НФ и ни один из не первичных атрибутов схемы R не является транзитивно зависимым от ключа схемы R. Для данного отношения R, подмножества x R, атрибута A R и множества функциональных зависимостей F: атрибут A называется транзитивно зависимым от x, если существует подмножество y R: x→y,y→x,y→A относительно F и атрибута A xy.

Пример

Имя транзитивно зависит от Рейс Дата.

Третья нормальная форма- если находится во второй нормальной форме и отсутствуют транзитивные функциональные зависимости

Пример:

A номер

В название отдела

C количество сотрудников

D ФИО начальника

E Банковский счет

Тогда

B ->E->D => имеется транзитивная зависимость, значит не находится в 3 НФ

Пример:

Пример:

R1={Рейс Дата Код_пилота}

R2={Код_пилота Имя}

R={R1,R2} – в 3НФ.

56 Назначение языка баз данных sql. Основные принципы языка.

Язык SQL (Structured Query Language) предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление), а также некоторых сопутствующих операций, и не содержит операторов управленя, организации подпрограмм, ввода-вывода и т. п. Таким образом, SQL не обладает функциями полноценного языка разработки, т.е. является непроцедурным языком. В связи с этим SQL автономно не используется, обычно его включают в состав средств разработки программ СУБД (например, FoxPro СУБД Visual FoxPro, ObjectPAL СУБД Paradox, Visual Basic for Applications СУБД Access).

Язык состоит из двух компонентов: языка манипулирования данными и языка определения данных. Язык манипулирования может применяться и на внешнем и на концептуальном уровнях . кроме того язык предоставляет определенные возможности управления данными. Главный недостаток языка – некорректно поддерживает реляционную модель.

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

Представление по существу является таблицей, формируемой

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

57 Sql.: Управление таблицами: создание, удаление. Типы данных в таблицах.

Таблицы создаются командой CREATE TABLE. Эта команда создает пустую таблицу - таблицу без строк. Значения вводятся с помощью DML команды INSERT. Команда CREATE TABLE в основном определяет им таблицы, в виде описания набора имен столбцов указанных в определенном порядке. Она также определяет типы данных и размеры столбцов. Каждая таблица должна иметь по крайней мере один столбец.

CREATE TABLE <TABLE-NAME>

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

Так как пробелы используются для разделения частей команды SQL, они не могут быть частью имени таблицы ( или любого другого объекта, такого как индекс ). Подчеркивание ( _ ) - обычно используется для разделения слов в именах таблиц.

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

Синтаксис для удаления вашей таблицы, если она является пустой:

DROP TABLE < table name >;

Типы данных SQL.

1.Символьные типы данных - содержат буквы, цифры и специальные символы.

CHAR или CHAR(n) -символьные строки фиксированной длины. Длина строки определяется параметром n. CHAR без параметра соответсвует CHAR(1). Для хранения таких данных всегда отводится n байт вне зависимости от реальной длины строки.

VARCHAR(n) - символьная строка переменной длины. Для хранения данных этого типа отводится число байт, соответствующее реальной длине строки.

2.Целые типы данных - поддерживают только целые числа (дробные части и десятичные точки не допускаются). Над этими типами разрешается выполнять арифметические операции и применять к ним агрегирующие функции (определение максимального, минимального, среднего и суммарного значения столбца реляционной таблицы).

INTEGER или INT- целое, для хранения которого отводится, как правило, 4 байта. (Замечание: число байт, отводимое для хранения того или иного числового типа данных зависит от используемой СУБД и аппаратной платформы, здесь приводятся наиболее "типичные" значения) Интервал значений от - 2147483647 до + 2147483648

SMALLINT - короткое целое (2 байта), интервал значений от - 32767 до +32768

3.Вещественные типы данных - описывают числа с дробной частью.

FLOAT и SMALLFLOAT - числа с плавающей точкой (для хранения отводится обычно 8 и 4 байта соответсвенно).

DECIMAL(p) - тип данных аналогичный FLOAT с числом значащих цифр p.

DECIMAL(p,n) - аналогично предыдущему, p - общее количество десятичных цифр, n - количество цифр после десятичной запятой.

4.Денежные типы данных - описывают, естественно, денежные величины. Если в ваша система такого типа данных не поддерживает, то используйте DECIMAL(p,n).

MONEY(p,n) - все аналогично типу DECIMAL(p,n). Вводится только потому, что некоторые СУБД предусматривают для него специальные методы форматирования.

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

DATE - тип данных для хранения даты.

TIME - тип данных для хранения времени.

INTERVAL - тип данных для хранения верменного интервала.

DATETIME - тип данных для хранения моментов времени (год + месяц + день + часы + минуты + секунды + доли секунд).

6.Двоичные типы данных - позволяют хранить данные любого объема в двоичном коде (оцифрованные изображения, исполняемые файлы и т.д.). Определения этих типов наиболее сильно различаются от системы к системе, часто используются ключевые слова:

BINARY

BYTE

BLOB

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]