Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






INSERT INTO tovar (Tov_Name,Tov_EdIzm,Tov_Cena)




values('Кока-Кола','банка',1.9)

Затем выполним запрос и получим следующий результат:

Рис.15 Чтение записей БД с помощью Interactive SQL

Работая как пользователь Student, выполняющий роль Student_Info мы можем добавлять и изменять записи.

Закончим сеанс работы с БД ( Disconnect ) и соединимся опять, но уже как Student без задания какой-либо роли.

Вывод:

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


ИЗМЕНЕНИЕ И УДАЛЕНИЕ ТАБЛИЦ И СВЯЗЕЙ МЕЖДУ НИМИ. ГЕНЕРАТОРЫ.

Соединимся с БД как SYSDBA и изменим структуру таблицы Tovar

Рис.16 Системные таблицы БД

Удалим первичный ключ, добавим новые поля: Id_Tovar ( INTEGER ) - будущий PK, Tov_Creat ( varchar(10) ), Tov_Tstamp ( TIMESTAMP ).

Как удалить Первичный ключ - операции по его удалению нет в ALTER TABLE. Давайте посмотрим, где он описан в нашей таблице - в закладке Метадата (это понятно, но бесполезно) и при внимательном поиске, нажав кнопку Show Indexes на закладке Свойства увидим RDB$PRIMARY1.

Рис.17 Список индексов для таблицы TOVAR

Судя по названию этого ключа - это системный объект. Где же он расположен и как его удалить? В Меню выберем View и щелкнув включим флажок System Data. Теперь, открыв Таблицы, мы сразу и не увидим нашей TOVAR. Перед нами длинный список системных таблиц (см. рисунок 18). Нам нужна RDB$INDIСES.В самом ее конце мы увидим:

Рис.18 Список системных таблиц БД

Теперь ясно, что удалять нужно данные из системной таблицы. Попытка выполнить удаление ПК не удается из-за нарушения системной целостности данных. В дальнейшем будем создавать только явно поименованные объекты

Чтобы удалить первичный ключ из системных таблиц, нужно найти его имя. Чтобы понять, где следует его искать посмотрим ВНИМАТЕЛЬНО справку по команде CREATE TABLE.

Полный синтаксис оператора:

CREATE TABLE TOVAR

( имя_поля1 тип,

……………….

имя_поляN тип,

<tconstraint> );

где <tconstraint> = [ CONSTRAINT имя_ограничения ]

{{PRIMARY KEY или UNIQUE} (col [, col …])

| FOREIGN KEY (col [, col …]) REFERENCES other_table

[ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]

[ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]

| CHECK (<search_condition>)}

 

Ищем в системных таблицах, у которых в имени есть слово CONSTRAINT. Интересующее нас ограничение находится в таблице RDB$RELATION_CONSTRAINTS и имеет имя INTEG_3. Выполним оператор:


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.011 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал