SYBASE (Задания по бд), страница 4

2015-08-16СтудИзба

Описание файла

Файл "SYBASE" внутри архива находится в папке "documentation к лаб.раб. и курсу БД". Документ из архива "Задания по бд", который расположен в категории "". Всё это находится в предмете "вычислительные машины, системы и сети (вмсис)" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "вмсс" в общих файлах.

Онлайн просмотр документа "SYBASE"

Текст 4 страницы из документа "SYBASE"

Кроме указанных выше трех типов ограничений, различают ограничения на уровне таблицы и на уровне колонки. Ограничения на уровне колонки действуют только для одной колонки и указываются сразу после имени и типа колонки. Ограничения на уровне таблицы действуют для двух и более колонок и указываются отдельной структурой. Ограничения на уровне таблицы могут включать структуру foreign key (внешний ключ) и список из одного и более имен колонок.

Типы данных:

Категория типа данных

Запись

Размерность

Размер в байтах

Целые числа

а) tinyint

б) smallint

в) int (integer)

0¸255

-32768¸32767

(-215¸215-1)

-2147483648¸2147483647

(-231¸231-1)

1 байт

2 байта

4 байта

Вещественные числа с фиксированной точкой

а) numeric(p, s)

б) decimal (p, s) (dec)

-1038¸1038-1

-1038¸1038-1

2¸17 байт

2¸17 байт

Вещественные числа с плавающей точкой

а) float (precision)

б) double precision

в) real

от ЭВМ

от ЭВМ

от ЭВМ

4б. или 8б.

8 байт

4 байта

Деньги

а) smallmoney

б) money

-214748.3648¸ 214748.3647

-922337203685477.5808¸ 922337203685477.5807

4 байта

8 байт

Дата/время

а) smalldatetime

б) datetime

1.01.1900¸6.06.2079

1.01.1753¸31.12.9999

4 байта

8 байт

Символьные данные

а) char (n)

б) varchar (n)

в) nchar (b)

г) nvarchar (n)

д) text

0¸255 байт

0¸255 байт

0¸255байт

0¸255 байт

0¸231-1 байт

(0¸2147483647)

n байт

фактическая длина

@@ncharsize*n

@@ncharsize*фактдлина

от 2К до 2 Гбайт

Двоичные данные

а) binary (n)

б) varbinary (n)

в) image

0¸255байт

0¸255 байт

0¸231-1 байт

(0¸2147483647)

n байт

фактич. длина

от 2К до 2 Гбайт

Битовые данные

bit

0 или 1

1 бит (1/8 байта)

Пример создания таблиц в учебной БД:

(структура БД приведена в приложении VI)

Имя БД: MPEI1

Владелец: STUD1

1) Создание таблицы с именем POSS:

create table poss

(nomer integer,

fio char(40) not null,

data_rogden char (6),

pol char (1),

sem_polog_k char (1),

spec char (6),

kat_obuch_k char(2),

vuz_k integer,

mp char (2),

gp char (2),

mo char (2),

gok char (2))

2) Создание таблицы с именем VUZ_GOROD:

create table vuz_gorod

(cod_vuza integer,

nazvanie_vuza char (25),

cod_goroda char (3),

nazvanie_goroda char (20),

cod_stran char (2),

nazvanie_stran char (15))

3) Создание таблицы с именем VUZ:

create table vuz

(cod integer,

uch_zavedenie char (25))

4) Создание таблицы с именем FAMILY:

create table family

(cod char (1),

family_status (12))

5) Создание таблицы с именем KAT_OBUCH:

create table kat_obuch

(cod char (2),

kat_obucheniya char (16))

6) Создание таблицы с именем GOROD:

create table gorod

(cod char (3),

nazvanie_goroda char (20))

Загрузка таблиц данными выполняется с помощью оператора INSERT (1-ая форма).

Оператор INSERT:

insert [into] [<имя БД>.[<владелец>.]]{<имя таблицы>|<имя представления>}[(<список колонок>)]

{values (<выр.1>[,<выр.2>]...) | select_statement}

Примеры операторов INSERT для созданных таблиц:

1) insert poss values

(534305, 'ЖУРАВЛЕВ АВЕРЬЯН АЛЕКСЕЕВИЧ', '000073’, 'M', '0','001001', '05',
0129000, '08', '90', '03', '95')

2) insert vuz_gorod values

(1115842, 'С.-П. ИИЖТ', '002', 'САНКТ-ПЕТЕРБУРГ', '01', 'РОССИЯ')

3) insert vuz values

(1962902, 'СТАВР.МЕД.ИНСТ.')

4) insert family values

('0', 'ХОЛОСТ')

5) insert kat_obuch values

('03', 'СТУДЕНТ')

6) insert gorod values

('003', 'АСТРАХАНЬ')

Ограничения целостности данных

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

Умолчание - это опция или свойство (значения) поля или типа данных, выбираемое системой в случае неопределенности.

Умолчания и правила определяют ограничения целостности, которые вступают в силу во время ввода и модификации данных.

Правило - это спецификация, контролирующая данные при вводе в определенное поле или в поле пользовательского типа данных.

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

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

Пример использования правила: контроль двух колонок

create table my_publishers

(pub_id char (4),

pub_name varchar (40),

constraint my_chr_constraint

check (pub_id in ("1389", "0736", "0877")

or pub_name not like "Bad News Books"))

Пример использования умолчаний:

create table my_titles

(title_id char (6),

title varchar (80),

price money default null,

total_sales int default 0)

Пример использования контроля значения поля (при вводе, т.е. оператор INSERT):

create table my_new_publishers

(pub_id char (4)

check (pub_id in ("1389", "0736", "0877", "1622","1756")

or pub_id like "99 [0-9][0-9]"),

pub_name varchar (40),

city varchr (20),

state char (2))

Примеры определения пользовательских типов данных:

execute sp_addtype nm, "varchar (30)"

execute sp_addtype p#, "char (10)"

Определение контрольных ограничений

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

Условие поиска может включать:

  1. список константных выражений с функцией in;

  2. диапазон константных выражений с функцией between;

  3. множество условий с функцией like.

Константные выражения обычно включают в себя арифметические операции и встроенные функции.

Но условие поиска не может включать подзапросы, многофункциональные спецификации и адресные спецификации.

Существуют два типа контрольных ограничений:

  1. на уровне поля;

  2. на уровне таблицы.

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

Создавать умолчания, правила и индексы можно не только в рамках команды create table, но и отдельными командами create. Эти команды можно использовать уже после того, как созданы и загружены таблицы. Умолчания и правила создаются для ограничения значений какого-либо одного поля таблицы.

Создание умолчаний

create default [<владелец>.]<имя умолчания>

as <константное выражение>

Создание правил

create rule [<владелец>.]<имя правила>

as <условное выражение>

где <условное выражение> аналогично условному выражению в структуре where оператора select за тем исключением, что вместо имени поля указывается аргумент правила, начинающийся со знака @. Аргумент у правила может быть только один.

Связывание правила с объектом БД (именем колонки)

sp_bindrule <имя правила>, <имя объекта> [, futureonly]

где <имя объекта> - это имя таблицы и имя колонки (<имя таблицы>.<имя колонки>).

Проверка действия правила осуществляется оператором insert (или update) после создания и связывания правила.

Пример команды create table с контрольными ограничениями:

create table poss1

( nomer integer check ( nomer between 1 and 700000),

fio char (40) not null check ( fio not like “%.%” or fio not like “%-%”),

d_rogd char (2) check ( d_rogd between “01” and “31”),

m_rogd char (2) check ( m_rogd between “01” and “12”),

g_rogd char (2) check (g_rogd between “00” and “99”),

pol char (1) check ( pol like “М” or pol like “Ж”),

sem_polog_k char (1) check ( sem_polog_k in (“0”, “1”, “2”, “3”)),

spec char (6) check ( spec between “000000” and “190046”),

kat_obuch_k char(2) check ( kat_obuch_k between “01” and “17”),

vuz_k integer check ( vuz_k between 128955 and 8199999),

mp char (2) check ( mp between “01” and “12”),

gp char (2) check ( gp between “00” and “99”),

mo char (2) check ( mo between “01” and “12”),

gok char (2) check ( gok between “00” and “99”))

Развязывание правила с объектом БД

sp_unbindrule <имя объекта> [, futureonly]

Создание индексов

Индексы бывают трех типов:

1) Составные индексы - определяются на двух и более колонках.

2) Уникальные индексы - никакие два значения индекса не могут быть равны между собой.

  1. Групповые или негрупповые индесы - групповые индексы создают возможность совпадения физической и логической последовательностей записей в таблице; в негрупповых индексах - этого нет.

Команда создания индекса:

create [unique] [clustered | nonclustered] index

(<имя индекса> on [[<имя БД>.] <владелец>.] <имя табл.>

(<имя колонки> [,<имя колонки>]...)

[with {fillfactor=x, ignore_dup_key, sorted_data,

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