Использованные операторы:
PRIMARY KEY – признак создания ключевого поля.
FOREIGN KEY...REFERENCES… – признак создания поля связи с другой таблицей.
CREATE TABLE – команда создания таблицы в текущей БД.
В табл. 1.6 описаны типы данных при создании таблиц БД, особен- ность которых заключается в том, что поведение некоторых типов данных и одноименных типов переменных в PL/SQL отличаются, на что необхо- димо обратить внимание. Типы переменных PL/SQL и их особенности описаны в лабораторной работе №4.
|
|
|
Таблица 1.6 |
|
|
Типы данных в объектах Oracle |
|
|
|
|
|
Тип данных |
Макси- |
Описание |
Способы объявления |
|
мальный |
|
|
|
размер |
|
|
1 |
2 |
3 |
4 |
CHAR |
255 |
Символьная строка фик- |
CHAR(длина); |
|
|
сированной длины, без |
CHARACTER(длина) |
|
|
указания размера ее дли- |
|
|
|
на равна 1 |
|
VARCHAR2 |
4000 |
С помощью этого типа |
VARCHAR2(длина) |
|
|
данных резервируется |
|
|
|
необходимое простран- |
|
|
|
ство, характерно только |
|
|
|
для Oracle |
|
NCHAR |
2000 |
Строка фиксированной |
NCHAR(длина) |
|
|
длины в режиме |
|
|
|
UNICODE для поддерж- |
|
|
|
ки национальных коди- |
|
|
|
ровок |
|
NVARCHA |
|
Строка переменной дли- |
NVARCHAR2(длина) |
R2 |
|
ны в режиме UNICODE |
|
|
|
для поддержки нацио- |
|
|
|
нальных кодировок |
|
LONG |
2 Гб |
Большая строка пере- |
LONG(длина) |
|
|
менной длины, если дли- |
|
|
|
на не указана, то полага- |
|
|
|
ется длина, равная 2 Мб |
|
NUMBER |
Точность |
Число с заданной точно- |
NUMBER(точность, мас- |
|
от 1 до 38; |
стью только для Oracle, |
штаб); |
|
Масштаб |
если значение параметра |
Например, NUMBER (7,-3) – |
|
от -84 до |
точность не указано, то |
округление до тысяч; |
|
128 |
полагается равным 38 |
NUMBER (7, 3) – округление |
|
|
|
количества знаков после за- |
|
|
|
пятой до трех |
15
|
|
|
Окончание табл. 1.6 |
|
|
|
|
1 |
2 |
3 |
4 |
LONG RAW |
2Гб |
Большие битовые строки |
LONG RAW(длина в байтах) |
|
|
переменной длины |
|
FLOAT |
|
Число с одинарной пла- |
|
|
|
вающей точкой |
|
RAW |
255 байт |
Битовые строки пере- |
RAW(длина в байтах) |
|
|
менной длины, только |
|
|
|
для Oracle. Отличие от |
|
|
|
Char и Varchar2 в автома- |
|
|
|
тическом преобразова- |
|
|
|
нии данных при передаче |
|
|
|
между клиентом и серве- |
|
|
|
ром |
|
DATE |
01.01.4712 |
Дата и время. Для при- |
Пример присвоения: |
|
до нэ |
своения даты использу- |
PEREM1:=TO_DATE('21-дек- |
|
01.01.4712 |
ется функция |
1980', 'dd-mon-yyyy'); |
|
нэ |
TO_DATE(‘символьная |
PEREM2:=TO_DATE('21-12- |
|
|
дата’, ‘формат даты’) |
1980', 'dd-mm-yyyy') |
ROWID |
|
Физическая ссылка опре- |
|
UROWID |
|
деляет строку в таблице, |
|
|
|
логическая ссылка опре- |
|
|
|
деляет строку в таблице, |
|
|
|
организованной в виде |
|
|
|
индексной структуры. |
|
|
|
Тип ROWID может хра- |
|
|
|
нить только физические |
|
|
|
ссылки на строки табли- |
|
|
|
цы. Тип UROWID (уни- |
|
|
|
версальная ссылка) мо- |
|
|
|
жет хранить физические, |
|
|
|
логические ссылки на |
|
|
|
строки таблицы и внеш- |
|
|
|
ние ссылки на строки |
|
|
|
типа non-Oracle |
|
BLOB |
|
Большие двоичные объ- |
|
|
|
екты, используются для |
|
|
|
хранения рисунков и |
|
|
|
прочего |
|
CLOB |
|
Большие строковые объ- |
|
|
|
екты |
|
BFILE |
|
Указатели на большие |
|
|
|
внешние объекты |
|
16
Варианты заданий к лабораторной работе №1
Общие положения
Вутилите Enterprise Manager Console создайте пример базы данных, как показано по ходу работы.
По индивидуальному варианту исходные таблицы привести к макси- мальной форме нормализации, для каждой таблицы определить название, типы полей, определить ключевые поля и при необходимости поля связи (внешние ключи), определить имя табличного пространства, в котором вы будете создавать объекты БД по всему комплексу лабораторных работ, а также определить имя пользователя и пароль.
Вутилите Enterprise Manager Console создать вашего пользователя, табличное пространство и таблицы БД. Перед созданием очередного объ- екта (т.е. до нажатия клавиши Create) скопируйте SQL код создаваемого объекта, который можно увидеть, нажав клавишу Show SQL.
Сохранить последовательно операторы в файле программы с названи-
ем ФамилияСтудента_ЛАб_1_№варианта. Данные операторы потребу-
ются для переноса БД с одного сервера БД на другой.
Вариант 1. БД «Учет выданных подарков несовершеннолетним детям сотрудников предприятия».
Код сотрудника |
|
|
|
Код сотрудника |
|
|
Код ребенка |
|||||
Фамилия |
|
|
|
Имя ребенка |
|
|
Стоимость подарка |
|||||
Имя |
|
|
|
Дата рождения |
|
|
Дата выдачи подарка |
|||||
Отчество |
|
|
|
Код ребенка |
|
|
Код выдачи |
|||||
Должность |
|
|
|
|
|
|
|
|
|
|
|
|
Подразделение |
|
|
|
|
|
|
|
|
|
|
|
|
Дата приема на работу |
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 2. БД «Учет выполненных ремонтных работ». |
|
|
|
|
|
|
||||||
Код прибора в ремонте |
|
Код прибора |
|
|
|
|
|
Код мастера |
||||
Название прибора |
|
Код мастера |
|
|
|
|
|
Фамилия мастера |
||||
Тип прибора |
|
ФИО владельца прибора |
|
|
|
|
|
Имя мастера |
||||
Дата производства |
|
Дата приема в ремонт |
|
|
|
|
|
Отчество мастера |
||||
|
|
|
|
Вид поломки |
|
|
|
|
|
Разряд мастера |
||
|
|
|
|
Стоимость ремонта |
|
|
|
|
|
Дата приема на работу |
||
|
|
|
|
Код ремонта |
|
|
|
|
|
|
||
Вариант 3. БД «Продажа цветов». |
|
|
|
|
|
|
||||||
Код цветка |
|
|
Код цветка |
|
|
|
|
|
Код продавца |
|||
Название цветка |
|
|
Дата продажи |
|
|
|
|
|
Фамилия |
|||
Сорт цветка |
|
|
Цена продажи |
|
|
|
|
|
Имя |
|||
Средняя высота |
|
|
Код продавца |
|
|
|
|
|
Отчество |
|||
Тип листа |
|
|
Код продажи |
|
|
|
|
|
Разряд |
|||
Цветущий |
|
|
|
|
|
|
|
|
Оклад |
|||
Дополнительные сведения |
|
|
|
|
|
|
|
|
Дата приема на работу |
|||
17
Вариант 4. БД «Поступление лекарственных средств». |
|
|
|
||||||||||
Код лекарства |
|
|
|
Код лекарства |
|
|
|
|
Код поставщика |
||||
Название лекарства |
|
|
|
Код поставщика |
|
|
|
|
Сокращенное название |
||||
Показания к применению |
|
|
|
Дата поставки |
|
|
|
|
Полное название |
||||
Единица измерения |
|
|
|
Цена за единицу |
|
|
|
|
Юридический адрес |
||||
Количество в упаковке |
|
|
|
Количество |
|
|
|
|
Телефон |
||||
Название производителя |
|
|
|
Код поступления |
|
|
|
|
ФИО руководителя |
||||
Вариант 5. БД «Списание оборудования». |
|
|
|
||||||||||
Код оборудования |
|
|
Код оборудования |
|
|
Код сотрудника |
|||||||
Название оборудования |
|
|
Причина списания |
|
|
Фамилия |
|||||||
Тип оборудования |
|
|
Дата списания |
|
|
Имя |
|||||||
Дата поступления |
|
|
Код сотрудника |
|
|
Отчество |
|||||||
ФИО ответственного |
|
|
Код списания |
|
|
Должность |
|||||||
Место установки |
|
|
|
|
|
|
|
|
|
|
|
Подразделение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дата приема на работу |
Вариант 6. БД «Поваренная книга». |
|
|
|
||||||||||
Код блюда |
|
|
|
|
Код блюда |
|
|
|
|
Код продукта |
|||
Тип блюда |
|
|
|
|
Код продукта |
|
|
|
|
Название продукта |
|||
Вес блюда |
|
|
|
|
Объем продукта |
|
|
|
|
Ед. измерения |
|||
Порядок приготовления |
|
|
|
|
|
|
|
|
|
|
|
|
|
Количество калорий |
|
|
|
|
|
|
|
|
|
|
|
|
|
Количество углеводов |
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 7. БД «Регистрация входящей документации». |
|
|
|
||||||||||
Код регистратора |
|
Код документа |
|
|
Код организации- |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
отправителя |
|
Фамилия |
|
Номер документа |
|
|
Сокращенное название |
||||||||
Имя |
|
Дата регистрации |
|
|
Полное название |
||||||||
Отчество |
|
Краткое содержание до- |
|
|
Юридический адрес |
||||||||
|
|
кумента |
|
|
|
|
|||||||
Должность |
|
Тип документа |
|
|
Телефон |
||||||||
Дата приема на работу |
|
Код организации- |
|
|
ФИО руководителя |
||||||||
|
|
отправителя |
|
|
|
|
|||||||
|
|
Код регистратора |
|
|
|
|
|||||||
Вариант 8. БД «Увольнение сотрудника». |
|
|
|
||||||||||
Код сотрудника |
|
Код документа |
|
Код статьи увольнения |
|||||||||
Фамилия |
|
Номер документа |
|
Название статьи увольнения |
|||||||||
Имя |
|
Дата регистрации |
|
Причина увольнения |
|||||||||
Отчество |
|
Дата увольнения |
|
Номер статьи увольнения |
|||||||||
Должность |
|
Код статьи увольнения |
|
Номер пункта/ подпункта |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
увольнения |
||
Подразделение |
|
Код сотрудника |
|
|
|
|
|||||||
Дата приема на работу |
|
Денежная компенсация |
|
|
|
|
|||||||
18
Вариант 9. БД «Приказ на отпуск». |
|
|
|
|||||||||||||
Код сотрудника |
|
|
|
Код документа |
|
|
|
|
Код отпуска |
|
||||||
Фамилия |
|
|
|
Номер документа |
|
|
|
|
Тип отпуска |
|
||||||
Имя |
|
|
|
Дата регистрации |
|
|
|
|
Оплата отпуска |
|
||||||
Отчество |
|
|
|
Дата начала отпуска |
|
|
|
|
Льготы по отпуску |
|
||||||
Должность |
|
|
|
Дата окончания отпуска |
|
|
|
|
|
|
||||||
Подразделение |
|
|
|
Код сотрудника |
|
|
|
|
|
|
||||||
Дата приема на работу |
|
|
|
Код отпуска |
|
|
|
|
|
|
||||||
Вариант 10. БД «Регистрация выходящей документации». |
|
|
|
|||||||||||||
Код отправителя |
|
|
|
Код документа |
|
|
|
Код организации- |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
получателя |
|
|
Фамилия |
|
|
|
Номер документа |
|
|
|
Сокращенное название |
|
|||||||
Имя |
|
|
|
Дата регистрации |
|
|
|
Полное название |
|
|||||||
Отчество |
|
|
|
Краткое содержание до- |
|
|
|
Юридический адрес |
|
|||||||
|
|
|
|
|
|
кумента |
|
|
|
|
|
|
||||
Должность |
|
|
|
Тип документа |
|
|
|
Телефон |
|
|||||||
Дата приема на работу |
|
|
|
Код организации- |
|
|
|
ФИО руководителя |
|
|||||||
|
|
|
|
|
|
получателя |
|
|
|
|
|
|
||||
|
|
|
|
|
|
Код отправителя |
|
|
|
|
|
|
||||
Вариант 11. БД «Назначение на должность». |
|
|
|
|||||||||||||
Код сотрудника |
|
|
|
|
Код документа |
|
|
|
Код должности |
|
||||||
Фамилия |
|
|
|
|
Номер документа |
|
|
|
Название должности |
|
||||||
Имя |
|
|
|
|
Дата регистрации |
|
|
|
Льготы по должности |
|
||||||
Отчество |
|
|
|
|
Дата назначения |
|
|
|
Требования к квалификации |
|
||||||
Дата приема на работу |
|
|
|
|
Код сотрудника |
|
|
|
|
|
|
|||||
Дата рождения |
|
|
|
|
Код должности |
|
|
|
|
|
|
|||||
Пол |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 12. БД «Выдача оборудования в прокат». |
|
|
|
|||||||||||||
Код клиента |
|
|
Код выдачи |
|
|
|
Код оборудования |
|
||||||||
Фамилия |
|
|
Номер документа |
|
|
|
Название оборудования |
|
||||||||
Имя |
|
|
Дата начала проката |
|
|
|
Тип оборудования |
|
||||||||
Отчество |
|
|
Дата окончания проката |
|
|
|
Дата поступления в прокат |
|
||||||||
Адрес |
|
|
Код оборудования |
|
|
|
|
|
||||||||
Телефон |
|
|
Код клиента |
|
|
|
|
|
||||||||
Серия и номер паспорта |
|
|
Стоимость |
|
|
|
|
|
||||||||
Вариант 13. БД «Списание оборудования из проката». |
|
|
|
|||||||||||||
Код оборудования |
|
|
Код оборудования |
|
|
|
Код сотрудника |
|
||||||||
Название оборудования |
|
|
Причина списания |
|
|
|
Фамилия |
|
||||||||
Тип оборудования |
|
|
Дата списания |
|
|
|
Имя |
|
||||||||
Дата поступления в прокат |
|
|
Код сотрудника |
|
|
|
Отчество |
|
||||||||
|
|
|
|
|
|
|
|
Номер документа |
|
|
|
Должность |
|
|||
|
|
|
|
|
|
|
|
Дата регистрации |
|
|
|
Дата приема на работу |
|
|||
|
|
|
|
|
|
|
|
Код списания |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
|
|
|
|
|
|
|
||