Реферат: Языки манипулирования данными (ямд)
Языки манипулирования данными (ЯМД)
До появления реляционных БД существовали языки манипулирования данными, которые были ориентированны на операции с данными, представленными в виде логических записей файла (списки).
Это требовало от пользователей детального знания об организации хранения данных на магнитных носителях.
Кроме этого процедуры поиска и выборки данных выполнялись очень медленно.
С появлением реляционных БД стали развиваться и языки управления БД.
Первый язык предложил Кодд назывался Alpha. Он был основан на реляционном исчислении.
Затем появились другие реляционные языки.
Делятся на два класса:
Алгебраические языки - запросы выполняются с помощью спец. операций (JOIN - соединить, INTERSECT - пересечь, SUBTRACT - вычесть и т.д.).
Языки исчисления предикатов – эти языки представляют набор правил, с помощью которых записываются новые выражения для определения новых таблиц из заданной совокупности уже существующих таблиц.
В основном разработку ЯМД вели:
IBM разработали языки ISBL, SQL, QBE
Университеты США разработали PIQUE, QUEL
QBE (Query-By-Example - запрос по образцу)
SQL (Structured Query Language - структурированный язык запросов)
ANSI (Американским Национальным Институтом Стандартов)
ISO (МЕЖДУНАРОДНОЙ ОРГАНИЗАЦИЕЙ ПО СТАНДАРТИЗАЦИИ).
Победил язык SQL. Он стал стандартом для систем управления БД.
Большинство коммерческих СУБД расширяют стандарт SQL, расширяя стандарты операторов.
Мы будем изучать стандарт с небольшим расширением SQL.
^ Стандарты языка SQL.
Международный стандарт 1989 г . (SQL1)
Носил общий характер. В нем не были выделены разделы команд.
Международный стандарт 1992 г . (SQL2)
Появились новые команды, которые:
Alter table, Drop table - позволяли манипулировать таблицами.
Users, Tables, Views, Columns, Domains, Table_privileges, Table_constraints … - Команды манипулирования структурами таблиц и схемой БД.
Create domain имя char(25) . . . - Команды управления доменами
Date, Time, Datetime, . . . Появились новые типы данных
Управление транзакциями и сессиями
Подключение к БД
Развитие динамического SQL
Стандарт 1999г. (SQL3)
Механизм триггеров
Абстрактные типы данных
Расширение модели транзакций (контрольные точки, многозвенные транзакций)
Стандарт 2003г. SQL:2003
Использование подпрограмм и типов SQL в языке программирования Java
XML-документы в среде SQL
Язык SQL может быть использован двумя способами:
Операторы языка SQL встраиваются в язык программирования (вложенный);
Выполнение команды SQL в интерактивном режиме (интерактивный).
^ Все команды SQL сгруппированы на подразделы:
DDL (Data Definition Language)
Создает объекты БД.
Оператор
Смысл
CREATE TABLE
Создать таблицу
DROP TABLE
Удалить таблицу
ALTER TABLE
Изменить таблицу
CREATE VIEW
Создать представление
ALTER VIEW
Изменить представление
DROP VIEW
Удалить представление
CREATE INDEX
Создать индекс
DROP INDEX
Удалить индекс
^ DML (Data Manipulation Language)
Команды SQL, которые определяют какие значения представлены в таблице в любой момент времени.
Оператор
Смысл
DELETE
Удалить строки
INSERT
Вставить строку
UPDATE
Обновить строку
^ DQL (Data Query Language)
Язык запросов. Заменяет все операторы реляционной алгебра. Позволяет сформировать результирующую таблицу в соответствии с запросом.
Оператор
Смысл
SELECT
Выбрать строки
^ Средства управления транзакциями.
Транзакция - группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена целиком либо успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта.
Оператор
Смысл
COMMIT
Завершить транзакцию
ROLLBACK
Откатить транзакцию
SAVEPOINT
Сохранить промежуточную точку выполнения транзакции
^ Средства администрирования данными.
Управления правами доступа.
Оператор
Смысл
ALTER DATABASE
Изменить БД
ALTER DBAREA
Изменить область хранения БД
ALTER PASSWORD
Изменить пароль
CREATE DATABASE
Создать БД
CREATE DBAREA
Создать область хранения
DROP DATABASE
Удалить БД
DROP DBAREA
Удалить область хранения БД
GRANT
Предоставить права
REVOKE
Лишить прав
^ Программный SQL.
Входит во вложенную форму SQL (до этого были команды интерактивные).
Оператор
Смысл
DECLARE
Определяет курсор для запроса
OPEN
Открыть курсор
FETCH
Считать строку из множества строк, определенных курсором
CLOSE
Закрыть курсор
PREPARE
Подготовить оператор SQL к динамическому выполнению
EXECUTE
Выполнить оператор SQL , ранее подготовленный к динамическому выполнению
^ Типы данных, используемых в БД MySQL
Целые числа
префикс_INT [UNSIGNED]
UNSIGNED задает поле для хранения беззнаковых чисел (больших или равных 0).
TINYINT - Может хранить числа от -128 до 127
SMALLINT - Диапазон от -32 768 до 32 767
MEDIUMINT - Диапазон от -8 388 608 до 8 388 607
INT - Диапазон от -2 147 483 648 до 2 147 483 647
BIGINT - Диапазон от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
^ Дробные числа
Имя_Типа[(length, decimals)] [UNSIGNED]
В () необязательный параметр.
length - количество знакомест (ширина поля), в которых будет размещено дробное число при его передаче;
decimals - количество знаков после десятичной точки, которые будут учитываться;
UNSIGNED - задает беззнаковые числа.
FLOAT - число с плавающей точкой небольшой точности.
DOUBLE - число с плавающей точкой двойной точности.
REAL - синоним для DOUBLE.
DECIMAL - дробное число, хранящееся в виде строки.
NUMERIC - синоним для DECIMAL.
Строки
При поиске по текстовым полям обычно не учитывается регистр. Т.е. строки "Вася" и "ВАСЯ" считаются одинаковыми.
length - от 1 до 255.
VARCHAR (length) [BINARY]
BINARY - строка при запросе SELECT будет сравниваться с учетом регистра.
VARCHAR - может хранить не более 255 символов.
TINYTEXT - может хранить не более 255 символов.
TEXT - может хранить не более 65 535 символов.
MEDIUMTEXT - может хранить не более 16 777 215 символов.
LONGTEXT - может хранить не более 4 294 967 295 символов.
^ Бинарные данные
Никогда не учитывается регистр.
Различают несколько типов:
TINYBLOB - может хранить не более 255 символов.
BLOB - может хранить не более 65 535 символов.
MEDIUMBLOB - может хранить не более 16 777 215 символов.
LONGBLOB - может хранить не более 4 294 967 295 символов.
BLOD - данные не перекодируются автоматически.
^ Дата и время
DATE - дата в формате ГГГГ-ММ-ДД
TIME - время в формате ЧЧ:ММ:СС
DATETIME - дата и время в формате
ГГГГ-ММ-ДД ЧЧ:ММ:СС
TIMESTAMP - дата и время в формате ГГГГММДДЧЧММСС.
Константы
Целочисленная
4 -95 +364 0
Десятичная
4,0 -95.7 +364.05 0.007
С плавающей точкой
4ЕЗ -95.7Е46 +364Е-5 0.7Е1
хЕу представляет значение х*10y
Строковая
'123 Main St.'
Дата, время
Записывается по формату, указанному выше.
^ Идентификаторы MySQL
Идентификаторами являются имена таблиц, столбцов и других элементов БД.
Максимальные длины и допустимые символы для идентификаторов
Идентификатор
Максимальная длина (в байтах)
База данных , кроме \ , / и *.
64
Таблица файлов, кроме \, /, '.'
64
Столбец
64
Индекс
64
Псевдоним
255
Правила задания идентификаторов:
Имя может включать алфавитно-цифровые символы из текущего набора символов, а также символы '_' и '$'.
Имя может начинаться с любого допустимого символа.
В именах нельзя применять символ точки, поскольку точка служит для расширения формата, когда можно обращаться к столбцам.
Не рекомендуется использовать имена вроде 1е, потому что выражение, подобное 1е+1, неоднозначно. Оно может интерпретироваться как выражение 1е + 1 либо как число 1е+1, в зависимости от контекста.
еще рефераты
Еще работы по разное
Реферат по разное
Банки (роль, функции, счета, операции)
18 Сентября 2013
Реферат по разное
Долгосрочная глобальная стратегия партнерства цивилизаций
18 Сентября 2013
Реферат по разное
Задачи Слёта -содействие развитию школьного самоуправления и участию школьников в работе органов государственно-общественного управления общеобразовательными учреждениями;
18 Сентября 2013
Реферат по разное
Алкины -углеводороды, содержащие в молекуле одну тройную связь. Общая формула алкинов: C
18 Сентября 2013