
- •Введение
- •Часть 1
- •Глава 1 модели данных
- •Уровни моделей данных
- •1 Инфологические модели данных
- •1.1 Диаграмма Бахмана
- •1.2 Модель «сущность-связь»(er)
- •Нотация Мартина
- •Нотация idef1x
- •Нотация Баркера
- •2. Даталогические модели
- •2.1. Документальные модели
- •2.1.1. Ориентированные на формат документа
- •2.1.2. Дескрипторные модели
- •2.1.3. Тезаурусные модели
- •2.2. Фактографические модели
- •2.2.1. Теоретико-графовая модель
- •2.2.1.1. Иерархическая модель
- •2.2.1.2. Сетевая модель
- •2.2.2. Теоретико-множественные модели
- •2.2.2.1. Реляционная модель
- •Правила Теда Кодда
- •2.2.2.2. Бинарных ассоциаций
- •2.2.3. Объектно-ориентированные модели
- •3. Физические модели
- •3.1. Модели, основанные на файловых структурах
- •3.2. Модели, основанные на странично-сегментной организации
- •Известные сетевые субд:
- •Глава 2. Проектирование баз данных
- •1.1. Избыточность данных и аномалии обновления
- •1.2. Функциональные зависимости
- •1.3. Нормальные формы и схемы выполнения нормализации
- •1) 1Нф.
- •2) 2Нф.
- •3) 3Нф.
- •4) Нфбк (нормальная форма Бойса-Кодда).
- •5) 4Нф.
- •6) 5Нф.
- •1.4 Синтез реляционных баз данных
- •1.5 Пример синтеза
- •1.6 Пример декомпозиции
- •Часть 2
- •Реляционная алгебра
- •Введение
- •Стандартные реляционные операции
- •Свойства стандартных операций
- •Специальные операции
- •Язык sql как стандартный язык баз данных
- •Введение в sql
- •2.1.1 Функциональные возможности sql
- •2.2 Создание баз данных
- •2.2.1 Оператор create database
- •2.3 Удаление баз данных
- •2.4.3 Размер поля
- •2.4.4 Тип поля
- •2.5 Удаление таблиц
- •2.5.1 Оператор drop table
- •2.6. Данные и записи данных
- •2.6.1 Оператор select
- •2.6.2 Оператор distinct
- •2.6.3 Оператор from { таблица [ псевдоним ] } [,...]
- •2.6.4 Оператор where (условие)
- •2.6.5 Оператор group by { поле | Integer } [,...]
- •2.6.6 Оператор having( условие)
- •2.6.7 Оператор order by { поле | Integer [ asc|desc ] } [,...]
- •2.6.8 Оператор union [all] select-команда
- •2.6.9 Оператор intersect [all] select-команда
- •2.6.10 Оператор except [all] select-команда
- •2.6.11 Into { temp | scratch } таблица
- •2.6.12 Insert - добавлять данные
- •2.6.13 Values ( константа [,...] )
- •2.6.18 Unload - выгрузить данные в текстовый файл
- •2.7 Операторы
- •2.7.3 Арифметические операторы
- •2.7.4 Приоритеты операторов
- •2.8 Функции
- •2.8.3 Текстовые функции
- •2.8.4 Функции работы с временем и датами
- •2.8.5 Вспомогательные функции
- •2.9 Виды на таблицы данных (Просмотры)
- •2.9.1Create view - создать новый вид на таблицу данных
- •2.9.2 Drop view - удалить вид на таблицу данных
- •2.10 Пользовательские процедуры
- •2.10.1 Create procedure - создать пользовательскую процедуру
- •2.10.2 Dba
- •2.10.3 References { byte | text }
- •2.10.4 Default { Wert | null }
- •2.10.5 Returning { Feldtyp | references { byte | text } }
- •2.10.6 Drop procedure - удалить процедуру
- •2.12.2 Нормальный текст
- •1999 - Sql-99, sql-3 (iso/iec 9075:1999(e) Information technology - Database languages - sql)
- •2003 - Sql-2003
- •4. Виды систем баз данных
- •4.1.Oracle
- •4.1.1 Типы данных
- •4.1.1.1.Символьные типы
- •4.1.1.2.Числовые типы
- •Даты, временные метки и интервалы
- •4.1.1.3.Логические типы
- •Двоичные данные
- •4.1.1.4.Типы данных для сети Интернет
- •4.1.1.5.Типы данных «Any»
- •4.2. Mysql
- •4.2.1 Типы данных.
- •4.2.1.1.Character String (строковый)
- •4.2.1.2.National Character String (национальный строковый)
- •4.2.1.3.Binary Large Object String (двоичный)
- •4.2.1.4.Numeric (числовой)
- •4.2.1.5.Datetime (дата/время)
- •4.2.1.6.Interval (интервальный)
- •4.2.1.7.Типы enum и set
- •4.2.2Использование типов столбцов их других систем управления базами данных
- •4.3. Postgresql
- •4.3.1 Типы данных
- •4.3.1.1Числовые типы
- •4.3.1.1.Целочисленные типы
- •4.3.1.2.Числа с заданной точностью
- •4.3.1.3.Типы с плавающей точкой
- •4.3.1.4.Серийные типы
- •4.3.1.5.Денежные типы
- •4.3.1.6.Символьные типы
- •4.3.1.7.Двоичные типы данных
- •4.3.1.8.Типы дата/времени
- •4.3.1.9.Логический тип
- •4.3.1.10.Перечисления
- •5. Использованные в пример таблицы данных
- •Символьные
- •Числовые типы данных
- •Двоичные типы данных
- •Типы данных времени, даты, интервалы
- •Логические типы данных
- •Список литературы
- •Оглавление
- •Часть 1………………………………………………………….…………………………….………… 4
- •Глава 1 модели данных………………………….………………….……………….…........…. 4
- •Глава 2 проектирование баз данных…………..……………………………………...… 40
- •1.4 Синтез реляционных баз …...………………………………………………………… 44
- •Часть 2……...…...………………………………………………………………………………….… 52
4.2.1.2.National Character String (национальный строковый)
Три национальных строковых типа определяются стандартом ISO SQL:2003.
С фиксированной длиной строки:
NATIONAL CHARACTER(длина)
NATIONAL CHAR(длина)
NCHAR(длина)
С переменной длиной строки:
NATIONAL CHARACTER VARYING(длина)
NATIONAL CHAR VARYING(длина)
NCHARVARYING(длина)
Символьные объекты:
NATIONAL CHARACTER LARGE OBJECT
NCHAR LARGE OBJECT
NCLOB
Типы символьной строки, MySQL поддерживает SQL стандарт для фиксированной и переменной длины строк, но не для символьных объектов. SQL Standard утверждает, что национальные эквиваленты типа символьной строки такие же, как символьная строка типов, кроме того, что используется конкретный набор символов.
4.2.1.3.Binary Large Object String (двоичный)
Существует один большой двоичный тип в стандарте ISO SQL: 2003 , называемый
BINARY LARGE OBJECT(length)
BLOB(length)
BLOB- это большой двоичный объект, который может содержать данные переменного объема. Существуют четыре типаBLOB:TINYBLOB,BLOB,MEDIUMBLOLBиLONGBLOB; они отличаются только максимальной длиной хранимых значений.
Столбцы BLOBрассматриваются как бинарные строки. Если вы присваиваете столбцу BLOB значение, превышающее его длину, оно усекается.
Каждое значение BLOBимеет внутреннее представление в виде отдельно распределенного объекта. Это отличает его от других типов столбцов, для которых ресурсы хранения выделяются при открытии таблицы по одному разу на столбец.
MySQLподдерживает только второй стандартный синтаксис,BLOB(длина). Однако,MySQLраспространяет стандартSQLдля больших двоичных строковых типов с пятью дополнительными двоичными типами:
TINYBLOB
MEDIUMBLOB
LONGBLOB
BINARY(длина)
VARBINARY(длина)
Значения BINARY
BINARY и VARBINARY похожи на CHAR и VARCHAR соответственно. BINARY или VARBINARY с длиной от 0 является действительным, но может содержать только две строки: пустая строка и NULL. CHAR BINARY и VARCHAR BINARY чувствительны к регистру строки символов.
Длина VARBINARY
Максимальная длина VARBINARY ограничивается только максимальной длиной строки. В большинстве максимальная длина строки допустимая по MySQL 65535 байт.
Двоичные типы
Наименование типа данных |
Принадлежность к SQL стандарту |
Фиксированная/переменная длина |
Диапазон |
Размер |
Атрибуты |
BINARY
|
не принадлежит |
фиксированная
|
длина 0-255 байта |
M байт |
DEFAULT NOT NULL NULL
|
VARBINARY |
не принадлежит |
переменная |
длина 0-65,532 байта |
L*x+1 если L<255 L*x+2 если L>255 |
DEFAULT NOT NULL NULL
|
TINYBLOB |
не принадлежит |
переменная |
максимальная длина 255 байт |
L+1 байт |
NOT NULL NULL
|
BLOB |
не принадлежит |
переменная |
максимальная длина 65,535 байт (64Kb) |
L+2 байта |
NOT NULL NULL
|
MEDIUMBLOB |
не принадлежит |
переменная |
максимальная длина 16,777,215 байт (16Mb) |
L+3 байта |
NOT NULL NULL
|
LONGBLOB |
не принадлежит |
переменная |
максимальная длина 4,294,967,295 (4Gb) |
L+4 байта |
NOT NULL NULL
|