
- •41. Модели «сущность – связь», их назначение и варианты реализации.
- •42. Уровни абстракции данных, определенные ansi/sparc.
- •43.Стандарт sql, типы данных.
- •Язык запросов, его возможности и примеры применения.
- •44.Средства администрирования в sql.
- •45.Язык определения данных. Примеры применения.
- •46 Язык манипулирования данных. Примеры применения.
- •Insert - вставка строк в таблицу
- •48. Определение и функции субд.
- •50. Основные функции Администратора базы данных.
Поскольку
проще исследовать структуру графически,
чем описывать ее в текстовой форме,
проектировщики БД посчитали удобным
использовать соответствующие
изобразительные средства, в которых
логические объекты (сущности, entity)
и их связи (relationship)
могли изображаться графическими
средствами. Несмотря на то что в последнее
десятилетие было разработано великое
множество инструментальных средств
моделирования данных, модель
"сущность-связь" (ER-модель)
является, безусловно, самым широко
распространенным и простым графическим
инструментом моделирования данных для
разработки реляционных БД. Питер Чен
(Peter
Chen)
впервые ввел понятие ER-модели
в 1976 году. Модель "сущность-связь"
(ER-модель)
дает графическое представление
логических объектов (сущностей) и их
отношений в структуре базы данных.
Сущность
- это класс однотипных объектов,
информация о которых должна быть учтена
в модели. имеет наименование, выраженное
существительным в единственном числе.
Каждая
сущность в модели изображается в виде
прямоугольника с наименованием: Экземпляр
сущности
- это конкретный представитель данной
сущности. Например, представителем
сущности "Сотрудник" может быть
"Сотрудник Иванов". Экземпляры
сущностей должны быть различимы Атрибут
сущности
- это именованная характеристика,
являющаяся свойством сущности.
Наименование атрибута должно быть
выражено существительным в единственном
числе (возможно, с характеризующими
прилагательными).
Примерами
атрибутов сущности "Сотрудник"
могут быть такие атрибуты как "Табельный
номер", "Фамилия", "Имя",
"Отчество", "Должность",
"Зарплата" и т.п.
Ключ
сущности
- это неизбыточный
набор атрибутов, значения которых в
совокупности являются уникальными
для каждого экземпляра сущности.
Неизбыточность заключается в том, что
удаление любого атрибута из ключа
нарушается его уникальность.
Сущность
может иметь несколько различных ключей.
Ключевые атрибуты изображаются на
диаграмме подчеркиванием:
Связь
- это некоторая ассоциация между двумя
сущностями. Одна сущность может быть
связана с другой сущностью или сама с
собою. Связи позволяют по одной сущности
находить другие сущности, связанные с
нею. Графически связь изображается
линией, соединяющей две сущности:
Каждая
связь имеет два конца и одно или два
наименования. Наименование обычно
выражается в неопределенной глагольной
форме: "иметь", "принадлежать"
и т.п. Каждое из наименований относится
к своему концу связи. Каждая связь может
иметь один из следующих типов
связи:
Связь
типа один-к-одному
означает, что один экземпляр первой
сущности (левой) связан с одним экземпляром
второй сущности (правой). Связь
один-к-одному чаще всего свидетельствует
о том, что на самом деле мы имеем всего
одну сущность, неправильно разделенную
на две.
Связь
типа один-ко-многим
означает, что один экземпляр первой
сущности (левой) связан с несколькими
экземплярами второй сущности (правой).
Это наиболее часто используемый тип
связи. Левая сущность (со стороны "один")
называется родительской,
правая (со стороны "много") -
дочерней.
Связь
типа много-ко-многим
означает, что каждый экземпляр первой
сущности может быть связан с несколькими
экземплярами второй сущности, и каждый
экземпляр второй сущности может быть
связан с несколькими экземплярами
первой сущности. Тип связи много-ко-многим
является временным
типом связи, допустимым на ранних этапах
разработки модели. В дальнейшем этот
тип связи должен быть заменен двумя
связями типа один-ко-многим путем
создания промежуточной сущности.
Каждая
связь может иметь одну из двух модальностей
связи:
Модальность
"должен"
означает, что экземпляр одной сущности
обязан быть
связан не менее чем с одним
экземпляром другой сущности. Связь
может иметь разную
модальность
с разных концов Описанный графический
синтаксис позволяет однозначно
читать диаграммы, пользуясь следующей
схемой построения фраз: <Каждый
экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ
СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП
СВЯЗИ> <экземпляр СУЩНОСТИ 2>. Каждая
связь может быть прочитана как слева
направо, так и справа налево. Слева
направо: "каждый сотрудник может
иметь несколько детей". Справа
налево: "Каждый ребенок обязан
принадлежать ровно одному сотруднику".
ANSi/SparsУровень,
на котором воспринимают данные
пользователи, называется внешним
уровнем (external level), тогда как СУБД и
операционная система воспринимают
данные на внутреннем уровне (internal
level). Именно на внутреннем уровне данные
реально сохраняются с использованием
всех тех структур и файловой организации.
Концептуальный уровень (conceptual level)
представления данных предназначен для
отображения внешнего уровня на внутренний
и обеспечения необходимой независимости
друг от друга. Внешний уровень. Внешний
уровень состоит из нескольких различных
внешних представлений БД. Каждый
пользователь имеет дело с представлением
предметной области, выраженным в
наиболее удобной для него форме. Внешнее
представление содержит только те
сущности, атрибуты и связи предметной
области, которые интересны пользователю.
Концептуальный уровень. Промежуточным
уровнем в трехуровневой архитектуре
является концептуальный уровень. Этот
уровень содержит логическую структуру
всей базы данных (с точки зрения АБД).
Фактически, это полное представление
требований к данным, которое не зависит
от любых соображений относительно
способа их хранения. На концептуальном
уровне представлены следующие компоненты:
все сущности, их атрибуты и связи;
накладываемые на данные ограничения;
семантическая информация о данных;
информация о мерах обеспечения
безопасности и поддержки целостности
данных.. Внутренний уровень описывает
физическую реализацию базы данных и
предназначен для достижения оптимальной
производительности и обеспечения
экономного использования дискового
пространства. Он содержит описание
структур данных и организации отдельных
файлов, используемых для хранения
данных в запоминающих устройствах. На
этом уровне осуществляется взаимодействие
СУБД с методами доступа операционной
системы с целью размещения данных на
запоминающих устройствах, создания
индексов, извлечения данных и т.д. На
внутреннем уровне хранится следующая
информация: сведения о распределении
дискового пространства для хранения
данных и индексов; описание подробностей
сохранения записей (с указанием реальных
размеров сохраняемых элементов данных);
сведения о размещении записей; сведения
о сжатии данных и выбранных методах их
шифрования.
Первый
официальный стандарт языка SQL
был принят ANSI
в 1986 году и ISO
(Международной организацией по
стандартизации) в 1987 году (так называемый
SQL-86)
и несколько уточнён в 1989 году. Дальнейшее
развитие языка поставщиками СУБД
потребовало принятия в 1992 году нового
расширенного стандарта (ANSI
SQL-92
или просто SQL2).
Следующим стандартом стал SQL:1999
(SQL3).
В настоящее время действует стандарт,
принятый в 2003 году (SQL:2003)
с небольшими модификациями, внесёнными
позже. В
языке SQL/89 поддерживаются следующие
типы данных: CHARACTER, NUMERIC,DECIMAL, INTEGER,
SMALLINT, FLOAT, REAL, DOUBLE PRECISION. Эти
типы данных классифицируются на типы
строк символов, точных чисел и
приблизительных чисел. К
первому классу относится тип CHARACTER.
Спецификатор типа имеет вид CHARACTER
(length),
где length
задает длину строк данного типа.
Представителями
второго класса типов являются NUMERIC,
DECIMAL
(или DEC),
INTEGER
(или INT)
и SMALLINT.
Спецификатор типа NUMERIC
имеет вид NUMERIC
[(precision
[, scale])].
Специфицируются точные числа,
представляемые с точностью precision
и масштабом scale.
Здесь и далее, если опущен масштаб, то
он полагается равным 0, а если опущена
точность, то ее значение по умолчанию
определяется в реализации.
Спецификатор
типа DECIMAL (или DEC) имеет вид DECIMAL [(precision
[,scale])]. Специфицируются
точные числа, представленные с масштабом
scale
и точностью, равной или большей значения
precision.
INTEGER
специфицирует тип данных точных чисел
с масштабом 0 и определяемой в реализации
точностью. SMALLINT
специфицирует тип данных точных чисел
с масштабом 0 и определяемой в реализации
точностью, не большей, чем точность
чисел типа INTEGER.
Наконец,
в классу типов данных приблизительных
чисел относятся типы FLOAT,
REAL
и DOUBLE
PRECISION.
Спецификатор типа FLOAT
имеет вид FLOAT[(precision)].
Специфицируются приблизительные числа
с двоичной точностью, равной или большей
значения precision.
Язык
запросов
Data Query Language (DQL)
Оператор
SELECT Смысл
Выбрать строки Действие
Оператор,
заменяющий все операторы реляционной
алгебры и позволяющий сформировать
результирующее отношение, соответствующее
запросу.
Оператор
SELECT является фактически самым важным
для пользователя и самым сложным
оператором SQL. Он предназначен для
выборки данных из таблиц, т.е. он,
собственно, и реализует одно их основных
назначение базы данных - предоставлять
информацию пользователю. Оператор
SELECT всегда выполняется над некоторыми
таблицами, входящими в базу данных. В
базах данных могут быть не только
постоянно хранимые таблицы, а также
временные таблицы и так называемые
представления (SELECT-выражения). При
реальном выполнении оператора SELECT
системой учитываются различия между
хранимыми таблицами и представлениями,
но эти различия скрыты
от пользователя.
Результатом выполнения оператора
SELECT всегда является таблица. Оператор
SELECT похож на операторы реляционной
алгебры. Любой оператор реляционной
алгебры может быть выражен подходящим
образом сформулированным оператором
SELECT. Сложность оператора SELECT определяется
тем, что он содержит в себе все возможности
реляционной алгебры, а также дополнительные
возможности, которых в реляционной
алгебре нет.
Пример
1: Отбор данных из одной таблицы. Выбрать
все данные из таблицы поставщиков
(ключевые слова SELECT…
FROM…):
SELECT
* FROM
P; В
результате получим новую таблицу,
содержащую полную копию данных из
исходной таблицы P.
Пример
2: Выбрать некоторые колонки из исходной
таблицы (указание списка отбираемых
колонок):
SELECT
P.NAME FROM
P; В
результате получим таблицу с одной
колонкой, содержащую все наименования.
41. Модели «сущность – связь», их назначение и варианты реализации.
Модальность
"может"
означает, что экземпляр одной сущности
может
быть связан
с одним или несколькими экземплярами
другой сущности, а
может быть и не связан
ни с одним экземпляром.
42. Уровни абстракции данных, определенные ansi/sparc.
43.Стандарт sql, типы данных.
Язык запросов, его возможности и примеры применения.