metBD (1084482), страница 29

Файл №1084482 metBD (Учебное пособие) 29 страницаmetBD (1084482) страница 292018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 29)

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

Задачи администрирования БД.

    • Оценка и выбор целевой СУБД

    • Физическое проектирование БД

    • Реализация физического проекта БД в среде целевой СУБД

    • Определение требований защиты и поддержки целостности данных

    • Взаимодействие с разработчиками приложений БД

    • Разработка стратегии тестирования

    • Обучение пользователей

    • Ответственность за сдачу в эксплуатацию готового приложения БД

    • Контроль текущей производительности системы и соответствующая настройка БД

    • Регулярное резервное копирование

    • Разработка требуемых механизмов и процедур восстановления

    • Обеспечение полноты используемой документации, включая материалы, разработанные внутри организации

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

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

8. ЯЗЫК МАНИПУЛИРОВАНИЯ ДАННЫМИ SQL

8.1 Определение данных

Введение

В этой главе довольно подробно рассматриваются предложе­ния определения данных SQL. Удобно разделить эти предложения на два больших класса, которые весьма грубо можно охаракте­ризовать как логический и физический. Предложения «логиче­ского» класса должны иметь дело с объектами, которые на са­мом деле представляют интерес для пользователей, например с базовыми таблицами и представлениями, а «физического» — с объектами, которые представляют интерес, главным образом, для системы, например дисковые тома. Нет нужды говорить о том, что в действительности дело обстоит не настолько ясно, насколько предусматривается в этой простой классификации — некоторые «логические» предложения включают параметры, которые по своей природе в действительности являются «физическими», и на­оборот. Кроме того, некоторые предложения не попадают строго в какую-либо одну из этих категорий. Тем не менее, такая клас­сификация удобна как вспомогательное средство для понимания, и мы будем ее сейчас использовать. В данной главе рассматрива­ется только «логическое» определение данных.

Ниже перечислены основные предложения логического опре­деления данных:

CREATE TABLE

CREATE VIEW

CREATE INDEX

(создать таблицу)

(создать представление)

(создать индекс)

ALTER TABLE

(изменить таблицу)

DROP TABLE

DROP VIEW

DROP INDEX

(уничтожить таблицу)

(уничтожить представление)

(уничтожить индекс)

(Примечание. Имеется также предложение ALTER INDEX (изменить индекс), но оно полностью попадает в «физическую» категорию. Предложения ALTER VIEW (изменить представление) нет.)

Базовые таблицы

Базовая таблица — (важный) специальный случай более об­щего понятия «таблица». Поэтому давайте начнем с того, что несколько уточним это более общее понятие.

Определение

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

а) Строка заголовков столбцов специфицирует один или более столбцов, задавая наряду с прочим тип данных для каждого из них;

б) Каждая строка данных содержит в точности одно значение данных для каждого из столбцов, специфицированных в строке заголовков столбцов. Кроме того, все значения в заданном столбце имеют один и тот же тип, а именно: тип данных, спе­цифицированный для этого столбца в строке заголовков столб­цов.

Базовая таблица — это автономная именованная таблица. Под «автоном­ностью» понимается то, что эта таблица существует сама по себе в отличие от представления, которое существует не само по себе, а является производным от одной или нескольких базовых таблиц. Представление служит просто альтернативным способом рассмотрения этих базовых таблиц. Под «именован­ной» понимается, что этой таблице с помощью соответствующего предложения CREATE явно задается некоторое имя в отличие от таблицы, которая строится как результат запроса и не имеет сама по себе какого-либо явного имени. Такая таблица сущест­вует в течение непродолжительного времени.

Предложение CREATE TABLE

Теперь мы в состоянии подробно обсудить предложение CREATE TABLE. Это предложение имеет следующий общий формат:

CREATE TABLE имябазовойтаблицы

(определение столбца [, определениестолбца] ...)

[другиепараметры];

Здесь «определение — столбца» в свою очередь имеет формат:

имястолбца типданных [NOT NULL]

Факультативные «другие—параметры» имеют дело главным образом с проблемами физического хранения. Примечание. Прямые скобки в син­таксических определениях используются для того, чтобы указать, что конструкции, заключенные в эти скобки, являются необяза­тельными (т. е. могут быть опущены). Многоточие указывает, что непосредственно предшествующая ему синтаксическая единица факультативно может повторяться один или более раз.

Ниже приведен пример предложения CREATE TABLE для таб­лицы S, теперь уже в полном виде:

CREATE TABLE S

(НОМЕР_ПОСТАВЩИКА CHAR (5) NOT NULL,

ФАМИЛИЯ CHAR (20),

СОСТОЯНИЕ SMALLINT,

ГОРОД CHAR (15));

Результат этого предложения состоит в том, что создается новая пустая базовая таблица, названная xyz.S, где xyz — имя, под которым известен системе пользователь, издающий предло­жение CREATE TABLE. В системный каталог при этом помещается статья, описывающая эту таблицу. Пользователь xyz может обращаться к таблице по ее полному имени xyz.S или по сокращенному имени S. Другие пользователи должны обра­щаться к ней только по ее полному имени. Данная таблица состоит из четырех столбцов с именами xyz.S.НОМЕР_ПОСТАВЩИКА, xyz.S.ФАМИЛИЯ, xуz.S.COCTOЯHИE и xуz.S.ГOPOД, имеющих указанные в определении типы данных. (Типы данных будут рассматриваться ниже). Пользователь xyz может обра­щаться к этим столбцам по их полным или по сокращенным именам: S.HOMEP_ПОСТАВЩИКА, S.ФAMИЛИЯ, S.СОСТОЯНИЕ и S.ГОРОД. Другие пользователи должны применять только полные имена столбцов. Заметим, однако, что независимо от того, включается ли в имя часть «xyz», часть «S» может быть опущена, если это не приводит к двусмысленности, но ее вклю­чение никогда не является ошибкой. Вообще относительно имен справедливы следующие правила. Имена пользователей, напри­мер xyz, являются уникальными во всей системе. Имена таблиц (неуточненные) уникальны для пользователя. Имена столбцов (неуточненные) уникальны для таблицы1. Под «таблицей» здесь понимаются как базовые таблицы, так и представления. Таким образом, представление не может иметь такое же имя, как и ба­зовая таблица.

После того как таблица создана, в нее могут быть введены данные с помощью предложения INSERT (вставить) языка SQL.

Типы данных

В различных системах и реализациях систем, поддерживаемые типы данных и форматы могут отличаться. Например, система DB2 поддерживает следующие типы:

INTEGER — двоичное целое число, занимающее полное машинное слово, 31 бит со знаком

SMALLINT — двоичное целое число, занимающее полуслово, 15 бит со знаком

DECIMAL (p, q) — упакованное десятичное число, включающее p цифр и знак (0<p<16); предполагается q цифр справа от десятичной точки (q<p; если q=0, она может быть опущена)

FLOAT — число n с плавающей точкой, занимающее двойное слово и представленное шестнадцатеричной мантиссой f с точно­стью до 15 знаков (—1<f<+l) и двоичным целочислен­ным порядком e (—65<e<+64) таким образом, что n=f*(16**e); примерный диапазон значений n — от 5.4Е—79 до 7.2Е+75; см. также ниже пояснения для констант типа FLOAT

CHAR (n) — литерная строка фиксированной длины из n литер (0<n<255)

VARCHAR (n) — литерная строка переменной длины, не превышающей n литер (0<n; максимальное значение n зависит от ряда факторов, но в общем случае должно быть меньше, чем «размер страницы» — 4К либо 32К — пространства, со­держащего данную таблицу).

Константы

Набор констант также различен для разных СУБД, например в DB2 поддерживаются:

целочисленная — записывается как десятичное целое число со знаком или без знака, без десятичной точки; примеры: 4 -95 4 -364 0

десятичная — записывается как десятичное число со знаком или без знака, с десятичной точкой; примеры: 4.0 —95.7 +364.05 0.007

с плавающей точкой — записывается как десятичная константа, за которой следует буква E с последующей целочисленной константой; примеры: 4E3 —95.7Е46 +364Е—5 0.7Е1 (примечание: выражение xEy представляет значение х*(10**у))

строковая — записывается либо как строка литер, заключенная в оди­ночные кавычки, либо как строка пар шестнадцатеричных цифр, представляющих рассматриваемые литеры в коде ASCII или EBCDIC, в зависимости от используемого компьютера

Неопределенное значение

Вернемся теперь к основной теме данной главы. Практически все системы поддерживают концепцию неопределенного значения данных (NULL). Фак­тически любой столбец может содержать неопределенное значе­ние, если в определении этого столбца в предложении CREATE TABLE явным образом не специфицировано NOT NULL (неопре­деленное значение не допускается). Неопределенное значение — это специальное значение, которое используется для того, чтобы представлять «неизвестное значение» или «неприменимое значе­ние». Это не то же самое, что пробел или ноль. Например, запись поставки может содержать неопределенное значение поля КОЛИ­ЧЕСТВО (известно, что поставка имела место, но неизвестен объем поставки). Запись поставщика может также содержать не­определенное значение в столбце СОСТОЯНИЕ (может быть, на­пример, что СОСТОЯНИЕ не соотносится по некоторой причине поставщикам в Сан-Хосе).

Вернемся к предложению CREATE TABLE для базовой таб­лицы S. Мы специфицировали NOT NULL только для столбца НОМЕР-ПОСТАВЩИКА. Результатом этой спецификации явля­ется гарантия того, что запись каждого поставщика в базовой таблице S всегда будет содержать какой-либо реальный (отлич­ный от неопределенного значения) номер поставщика. Напротив, любое из значений ФАМИЛИЯ, СОСТОЯНИЕ и ГОРОД или все они могут быть неопределенными в той же самой записи.

Предложение ALTER TABLE

Точно так же, как в любое время можно с помощью предло­жения CREATE TABLE создать новую базовую таблицу, можно также в любое время изменить существующую базовую таблицу, добавляя к ней справа новый столбец. Для этого используется предложение ALTER TABLE:

ALTER TABLE имябазовой—таблицы

ADD имястолбца типданных;

Например:

ALTER TABLE S ADD СКИДКА SMALLINT;

Это предложение добавляет к таблице S столбец СКИДКА. Все существующие записи таблицы S расширяются с четырех значе­ний полей данных до пяти, и во всех случаях новое пятое поле при­нимает неопределенное значение. Спецификация NOT NULL в предложении ALTER TABLE не допускается. Заметим, между прочим, что только что описанное расширение существующих записей, не означает, что в это время физически обновляются записи в базе данных. Изменяется лишь хранимое в каталоге описание таблицы. Отдельные записи физически не изменяются до тех пор, пока они в следующий раз не станут целевыми для предложения UPDATE языка SQL.

Характеристики

Тип файла
Документ
Размер
1,9 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее