Каким образом изымаются права на пользование базой данных и отдельными ее таблицами

Обновлено: 18.05.2024

Какими правами обладают другие пользователи по отношению к Вашей схеме базы данных?

Какими правами обладает администратор базы данных по отношению к Вашей базе данных?

Каким образом предоставляются права на пользование схемой базы данных и отдельными ее таблицами?

Каким образом изымаются права на пользование схемой базы данных и отдельными ее таблицами?

Что такое внешняя база данных?

Что такое внешняя схема базы данных?

Как идентифицируется таблица внешней схемы базы данных?

Как идентифицируется таблица внешней распределенной базы данных?

Лабораторная работа 4 реализация простейших операций работы с базой данных средствами встроенного sql Цель работы

Приобретение начальных навыков работы со встроенным SQL средствами встроенного SQL/C.

Содержание работы и методические указания к ее выполнению

Встроенный SQL (ESQL)- инструмент разработки приложений для базы данных на языке Си с возможностью использования средств SQL. При создании ESQL/C-программы пользователь разрабатывает С-программу, включает в нее специальные заголовочные файлы и SQL-описания, реализующие работу с базой данных. Препроцессор ESQL/C преобразует SQL-описания в обращения к библиотечным функциям, которые взаимодействуют с сервером базы данных, и дает на выходе С-код. Далее полученный С-код компилируется и линкуется. Исходя из вышесказанного, пользователь, желающий разрабатывать ESQL/С-программы должен обладать навыками работы с языком Си и уметь пользоваться средствами SQL. При этом необходимо учитывать особенности той операционной системы, в рамках которой создается клиентское приложение. В данной и двух последующих лабораторных работах предполагается разработка несложных ESQL/С-программ. В лабораторных работах используется схема базы данных, созданная в 1 лабораторной работе, содержащая 4 таблицы:

таблица поставщиков (S);

таблица деталей (P);

таблица изделий (J);

таблица поставок (SPJ).

Если приведенная схема базы данных отсутствует (или любая таблица из нее), то необходимо восстановить базу данных, пользуясь интерактивными средствами программы phpPgAdmin, либо выполнив необходимый запрос на языке SQL в рамках данной программы:

create table S (n_post char(6) NOT NULL, family nchar(20),

rating smallint, town nchar(20));

create table P (n_det char(6), name nchar(20),

color nchar(20), weigh smallint,

create table J (n_izd char(6), name nchar(20),

create table SPJ (n_post char(6), n_det char(6),

n_izd char(6), kol smallint));

insert into SPJ

Для разработки ESQL/С-программ необходимо изучить:

общие правила подготовки программ и использования программных средств встроенного SQL/C;

аппарат определения и использование главных переменных;

средства встраивания SQL-описаний в С-программы;

структуру области связи SQLCA и средства обработки ошибок SQL-запросов;

назначение и структуру заголовочных файлов.

Данная лабораторная работа связана с написанием таких программ на ESQL/C, которые после обработки SQL-запроса возвращают единственную строку, а также выполняют простейшие операции по модификации базы данных без использования аппарата курсора.

Исходный файл с программой на встроенном SQL/C должен иметь расширение .ec (например, source.ec).

Вызов транслятора со встроенного ESQL/C выполняется командой pgcci. Ниже приведен упрощенный вариант синтаксиса команды pgcci:

exec SQL begin declare section

exec SQL end declare section

При использовании главных переменных в программе ESQL/C внутри SQL-описаний им также предшествует знак $, вне SQL-описаний главные переменные используются обычным образом. SQL-описаниям (операторам языка SQL) в программе на встроенном SQL/C также предшествует знак $.

Сервер баз данных возвращает код результата и, возможно, другую информацию в структуру данных, называемую областью связи SQL (SQL Communication Area - SQLCA). Структура и назначение отдельных полей SQLCA приведены в Приложении 3. Структура SQLCA описана в заголовочном файле sqlca.h, который автоматически подключается к программе на встроенном SQL/C. Среди других заголовочных файлов отметим:

datatime.h - описывает структуру для типа данных datetime;

decimal.h - описывает структуру для типа данных decimal;

locator.h - описывает структуру для blobs-данных;

varchar.h - описывает структуру для типа данных varchar;

sqlhdr.h - описывает прототипы функций библиотеки SQL/C;

sqltype.h, sqltypes.h - структуры для работа с динамическими главными переменными.

Для работы с объектами схемы базы данных необходимо указать

- схему базы данных.

База данных задается оператором в программе на языке ESQL/C

Connect to @ USER using

имя базы данных, используемое в лабораторных работах 1-10 - Students;

имя сервера - fpm2;

имя логина указывается в двойных кавычках;

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

Для указания схемы базы данных возмодны несколько вариантов. Один из них состоит в указании перед запуском загрузочного файла с программой на языке ESQL/C схемы базы данных командой из командной строки:

Set_search_path

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Защита на уровне пользователя применяется в случаях, когда с одной БД работают несколько пользователей или групп пользователей, имеющих раз­ные права доступа к объектам БД. Использовать защиту на уровне пользователя можно на отдельном компьютере и при коллективной работе в составе локальной сети. Этот способ защиты подобен способам разграничения дос­тупа в локальных сетях.

Для организации защиты на уровне пользователя в системе Access созда­ются рабочие группы (РГ). Каждая рабочая группа определяет единую технологию работы совокупности пользователей. Система Access в произволь­ный момент времени может работать с одной РГ. Заметим, что СУБД может работать с одной базой данных. Если в сеансе работы СУБД в ней попытаться открыть вторую БД, то первая БД автоматически закроется. Правда, мож­но запустить на выполнение несколько систем Access, поскольку Windows является многооконной системой.

Кроме сведений о системе защиты на уровне пользователя в файле РГ хранятся параметры системы Access. Изменить установленные по умолчанию системные параметры пользователь может с помощью команды Сервис | Па­раметры (Tools | Parameters). Эти параметры включают в себя: параметры отображения информации системой Access (строки состояния, окна запуска, панели инструментов, скрытых и системных объектов), параметры средств разработки запросов, экранных форм, отчетов и программ (модулей), установку действий на нажатие клавиш, параметры режима правки и поиска информации в БД и другие параметры, определяющие режим открытия БД по умолчанию (общий или монопольный доступ), вид блокировки при совместном изменении информации в БД (отсутствие всех записей или только изменяемой записи), период обновления и т.д.

Файл РГ описывает группы пользователей и отдельных пользователей, входящих в эту РГ. Он содержит учетные записи групп пользователей и от­дельных пользователей. По каждой учетной записи система Access хранит права доступа к объектам базы данных.

По умолчанию в каждую рабочую группу входит две группы пользовате­лей: администраторы (имя группы Admins) и обычные пользователи (имя группы Users). Причем, в группу Admins первоначально включен один ад­министратор под именем Admin.

При создании групп указывается имя (идентификатор) группы и код, представляющий собой последовательность от 4 до 20 символов. При регистрации (создании) пользователей в системе защиты им присваивается имя, код и необязательный пароль. Имена групп и пользователей, их коды, а так­же пароли пользователей (если они заданы) Access скрывает от пользователя. Поэтому если пользователь их забудет, найти их в файле РГ и восстано­вить практически невозможно. Коды группы и пользователя используются для шифрования системой учетных записей в файле РГ.

Каждому из пользователей, независимо от принадлежности к группе, можно присвоить пароль. Этот пароль, в отличие от пароля БД, называется паролем учетной записи и хранится в учетной записи в файле РГ. Первоначально все включаемые в РГ пользователи, в том числе и пользователь Admin, имеют пустой пароль или, можно считать, что не имеют пароля.

Каждой из групп приписываются определенные права на объекты БД. Члены группы Admins имеют максимальные права.

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

1. Группы Admins и Users удалить невозможно.

2. В группе Admins должен быть хотя бы один пользователь. Первоначально таким пользователем является пользователь Admin (администратор). Удалить пользователя Admin из этой группы можно после включения в нее еще одного пользователя.

3. Все регистрируемые пользователи автоматически становятся членами группы Users. Удалить их из этой группы нельзя.

4. Удалить пользователя Admin из рабочей группы нельзя (из группы Admins его можно удалить, а из группы Users - нет).

5. Создаваемые группы не могут быть вложены в другие группы, другими словами, нельзя создавать иерархию групп пользователей.

6. В системе защиты могут быть пустые группы, но не может быть пользо­вателей, не входящих ни в одну группу (они обязательно войдут в груп­пу Users).

Рабочая группа имеет структуру, показанную на рис. 6.1. Здесь буквами А, В и F обозначены созданные группы пользователей, а буквами Р1, Р2, РЗ, Р4 и Рn - пользователи. Все пользователи являются членами группы Users. Группа F пока пуста.


Рис. 6.1. Структура рабочей группы

Основное назначение системы защиты на уровне пользователя состоит в контроле прав доступа к объектам базы данных. Для этого нужно установить защиту БД с помощью Мастера защиты.

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

Представление прав реализуется оператором Grant. Оператор Grant в одной из форм

предоставляет права на уровне базы данных.

Hазначение опций следующее:

connect - право на модификацию содержимого базы данных;

resource - право на модификацию структуры таблиц базы данных;

dba - права администратора;

public - все пользователи;

- перечень пользователей на уровене Unix, например, sb01, sb02 и т.д.

Оператор Grant в форме

предоставляет права на уровне отдельной таблицы. Hазначение опций следующее:

insert, delete, select, update - права на выполнение указанной операции с таблицей;

index - право на формирование индексов;

alter - право на модификацию структуры таблица;

имя таблицы, view, synonym - идентификация таблицы, представлений, синонимов.

Отнятие прав реализуется оператором Revoke. Оператор Revoke в одной из форм

отнимает права на уровне базы данных.

Оператор Revoke в форме

отнимает права на уровне отдельной таблицы.

Текущей базой данных называется база данных, открытая с помощью операторов Database или Create database. Любая другая база данных называется внешней. Для ссылки на таблицу во внешней базе данных необходимо указать имя этой базы данных как часть имени таблицы, например, salesdb:contracts, где salesdb - имя внешней базы данных, contracts - имя таблицы. К имени базы данных можно добавить имя сервера, т.е. сетевой машины, где запущен еще один сервер баз данных баз данных, и таким образом в случае распределенной базы данных обращение к таблице contracts базы данных salesdb, размещенной на сервере central, будет выглядеть следующим образом: salesdb@central:contracts.

Последовательность выполнения лабораторной работы:

1. Занести в таблицу поставщиков S строки с фамилиями членов бригады.

2. Занести произвольным образом в таблицу поставок SPJ несколько строк (3-5 строк) о поставках, связанных с занесенными фамилиями.

3. Выполнить два запроса к базе данных согласно номеру Вашего варианта. При выполнении запроса данные должны выбираться из таблиц Вашей собственной базы данных.

4. Повторить задание п. 3 с той разницей, что сведения о номенклатуре деталей и изделий (таблицы P и J) должна браться из собственной базы данных, а сведения о поставщиках и поставках (таблицы S и SPJ) должны браться из базы данных соседней бригады. Предварительно необходимо узнать имя этой базы данных. Убедитесь в невозможности выполнения задания.

5. Обеспечьте, чтобы владелец используемой Вами внешней базы данных предоставил Вам полномочия на просмотр используемых Вами таблиц в его базе данных, дав соответственно ему такие же полномочия для выполнения аналогичных действий.

6. Повторите задание п. 4. Сравните результаты с результатами, полученными в п. 3.

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

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

9. Повторите задание п. 7. Проверьте успешность выполнения действий.

10. Дождавшись, когда владелец внешней базы данных закончит выполнение п. 9, сделайте попытку удалить из таблицы S используемой Вами внешней базы данных поставщиков с именами, принадлежащими владельцам базы данных, и связанные с ними поставки из таблицы SPJ. Убедитесь в невозможности выполнения задания.

11. Обеспечьте, чтобы владелец используемой Вами внешней базы данных предоставил Вам полномочия на удаление из используемых Вами таблиц в его базе данных, дав соответственно ему такие же полномочия для выполнения аналогичных действий.

12. Повторите задание п. 10. Проверьте успешность выполнения действий.

13. Отнимите предоставленные Вами права на пользование Вашей базой данных.

Варианты заданий

1. Выдать список всех поставок, в которых количество деталей находится в диапазоне от 300 до 750 включительно.

2. Получить номера изделий, использующих по крайней мере одну деталь, поставляемую поставщиком S6.

1. Выдать цвета деталей, поставляемых поставщиком S6.

2. Получить номера и фамилии поставщиков, поставляющих деталь Р1 для какого-либо изделия в количестве, большем среднего объема поставок детали Р1 для этого изделия.

1. Выдать названия изделий, для которых поставляются детали поставщиком S6.

2. Получить номера и названия изделий, для которых поставщик S6 поставляет несколько деталей каждого из поставляемых им типов.

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

2. Получить номера изделий, для которых детали полностью поставляет поставщик S6.

1. Выдать номера и фамилии поставщиков, поставляющих детали для какого-либо изделия с деталью P1 в количестве, большем, чем средний объем поставок детали P1 для этого изделия.

2. Получить номера изделий, использующих только детали, поставляемые поставщиком S6.

1. Выдать общее число изделий, для которых поставляет детали поставщик S6.

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

1. Выдать общее количество деталей P1, поставляемых поставщиком S6.

2. Получить номера и фамилии поставщиков, поставляющих по крайней мере одну деталь, поставляемую по крайней мере одним поставщиком, который поставляет по крайней мере одну красную деталь.

Вопросы для самоконтроля

1. Кто является владельцем базы данных?

2. Какими правами обладают другие пользователи по отношению к Вашей базе данных?

3. Какими правами обладает администратор базы данных по отношению к Вашей базе данных?

4. Каким образом предоставляются права на пользование базой данных и отдельными ее таблицами?

5. Каким образом изымаются права на пользование базой данных и отдельными ее таблицами?

6. Что такое внешняя база данных?

7. Как идентифицируется таблица внешней базы данных?

8. Как идентифицируется таблица внешней распределенной базы данных?

Практическая работа № 9

Тема:Работа с программами на языке ESQL/C.

Цель работы:Приобретение практических навыков работы с курсором в программах на языке ESQL/C.

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

Определение баз данных

Определяется понятие базы данных, составительство (право на подборку), право на произведение включенное в подборку базы данных.

Статья 1260 ГК РФ. Переводы, иные производные произведения. Составные произведения

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

Базой данных является представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).

3. Переводчик, составитель либо иной автор производного или составного произведения осуществляет свои авторские права при условии соблюдения прав авторов произведений, использованных для создания производного или составного произведения.

4. Авторские права переводчика, составителя и иного автора производного или составного произведения охраняются как права на самостоятельные объекты авторских прав независимо от охраны прав авторов произведений, на которых основано производное или составное произведение.

5. Автор произведения, помещенного в сборнике или ином составном произведении, вправе использовать свое произведение независимо от составного произведения, если иное не предусмотрено договором с создателем составного произведения.

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

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

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

Права изготовителя баз данных

Статья 1333 ГК РФ. Изготовитель базы данных

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

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

Статья 1334 ГК РФ. Исключительное право изготовителя базы данных

1. Изготовителю базы данных, создание которой (включая обработку или представление соответствующих материалов) требует существенных финансовых, материальных, организационных или иных затрат, принадлежит исключительное право извлекать из базы данных материалы и осуществлять их последующее использование в любой форме и любым способом (исключительное право изготовителя базы данных). Изготовитель базы данных может распоряжаться указанным исключительным правом. При отсутствии доказательств иного базой данных, создание которой требует существенных затрат, признается база данных, содержащая не менее десяти тысяч самостоятельных информационных элементов (материалов), составляющих содержание базы данных (абзац второй пункта 2 статьи 1260).

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

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

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

Статья 1335 ГК РФ. Срок действия исключительного права изготовителя базы данных

1. Исключительное право изготовителя базы данных возникает в момент завершения ее создания и действует в течение пятнадцати лет, считая с 1 января года, следующего за годом ее создания. Исключительное право изготовителя базы данных, обнародованной в указанный период, действует в течение пятнадцати лет, считая с 1 января года, следующего за годом ее обнародования.

2. Сроки, предусмотренные пунктом 1 настоящей статьи, возобновляются при каждом обновлении базы данных.

Статья 1335.1 ГК РФ. Действия, не являющиеся нарушением исключительного права изготовителя базы данных

1. Лицо, правомерно пользующееся обнародованной базой данных, вправе без разрешения обладателя исключительного права - изготовителя базы данных и в той мере, в которой такие действия не нарушают авторские права изготовителя базы данных и других лиц, извлекать из базы данных материалы и осуществлять их последующее использование:

в целях, для которых база данных ему предоставлена, в любом объеме, если иное не предусмотрено договором;

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

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

3. Не допускается неоднократное извлечение или использование материалов, составляющих несущественную часть базы данных, если такие действия противоречат нормальному использованию базы данных и ущемляют необоснованным образом законные интересы изготовителя базы данных.

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

Действие прав на базу данных по территории

Статья 1336 ГК РФ. Действие исключительного права изготовителя базы данных на территории Российской Федерации

1. Исключительное право изготовителя базы данных действует на территории Российской Федерации в случаях, когда:

изготовитель базы данных является иностранным гражданином или иностранным юридическим лицом при условии, что законодательством соответствующего иностранного государства предоставляется на его территории охрана исключительному праву изготовителя базы данных, изготовителем которой является гражданин Российской Федерации или российское юридическое лицо;

2. Если изготовитель базы данных является лицом без гражданства, в зависимости от того, имеет это лицо место жительства на территории Российской Федерации или иностранного государства, соответственно применяются правила пункта 1 настоящей статьи, относящиеся к гражданам Российской Федерации или иностранным гражданам.

Депонируемые материалы, идентифицирующие базу данных, должны отражать объективную форму представления совокупности содержащихся в ней самостоятельных материалов в виде примеров реального наполнения и принципы их систематизации (структуру базы данных), позволяющие осуществить нахождение и обработку этих материалов с помощью ЭВМ.

К депонируемым материалам, идентифицирующим базу данных, государственная регистрация которой осуществляется в соответствии с пунктом 3 статьи 1334 ГК РФ, следует дополнительно прилагать материалы, объективно подтверждающие количественное содержание базы данных, а именно наличие в представленной на регистрацию базе данных не менее десяти тысяч самостоятельных информационных элементов (материалов), составляющих содержание базы данных, и (или) документы, подтверждающие существенные финансовые, материальные, организационные или иные затраты, потребовавшиеся на создание базы данных.

В качестве материалов, объективно подтверждающих количественное содержание базы данных, могут быть представлены экранные изображения фрагментов отчетов, подготовленных системой управления базой данных (СУБД), с указанием числа выявленных информационных элементов и (или) в форме нумерационных списков.

Читайте также: