Учебное пособие Допущено Учебно-методическим объедине-нием по образованию в области прикладной информатики в качестве учебного пособия для студентов высших учебных заведений



страница3/9
Дата22.04.2016
Размер1.28 Mb.
1   2   3   4   5   6   7   8   9

Удаление базы данных


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

Синтаксис команды DROP DATABASE обычно имеет следующий вид:

DROP DATABASE имя_базы_данных

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


Удаление таблиц


Для удаления таблицы из базы данных используется команда DROP TABLE. В большинстве диалектов SQL она имеет следующий вид:

DROP TABLE имя_таблицы

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

Если же требуется сохранить структуру таблицы, но удалить из нее все данные, можно воспользоваться командой DELETE.


Добавление, изменение и удаление данных


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

В SQL для изменения данных используются три основные команды (их часто называют операторами модификации данных).



  • Оператор INSERT добавляет новые строки в базу данных.

  • Оператор UPDATE изменяет существующие в базе данных строки.

  • Оператор DELETE удаляет строки из базы данных.

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

Реляционные системы с графическим интерфейсом пользователя предоставляют для ввода данных специальные формы (form) – они напоминают обычный бумажный бланк, в строки которого вводятся необходимые данные. Формы обычно удобнее использовать, чем операторы модификации данных, так как они позволяют автоматизировать и упростить работу. Однако все действия по модификации в системах реляционных баз данных выполняются на основе команд SQL, так что изучать их надо даже независимо от того, планируете ли вы их использовать в будущем.

Выполнять операторы модификации данных обычно позволяется не всем. Владелец базы данных или владельцы отдельных объектов базы данных с помощью операторов GRANT и REVOKE могут разрешить отдельным пользователям выполнять определенные команды модификации.

С помощью каждого оператора модификации (INSERT, UPDATE, DELETE) за один раз можно изменять данные только в одной таблице. Однако в ряде систем эти изменения могут касаться данных из других таблиц и даже других баз данных. Используя оператор SELECT в команде модификации данных, можно переместить значения из одной таблицы в другую.


Добавление новой строки


Оператор INSERT позволяет добавлять строки в базу данных одним из двух способов: с помощью ключевого слова VALUES или с помощью оператора SELECT. Опишем сначала правила использования ключевого слова VALUES.

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

INSERT INTO имя_таблицы [(столбец1 [, столбец2]...)1]

VALUES (константа1 [, константа2]...)

Значения нужно вводить в том порядке, в котором определялись столбцы в соответствующем операторе CREATE TABLE (другими сло­вами, сначала идентификационный номер, затем имя, адрес, город и, наконец, штат). Данные после ключевого слова VALUES заключаются в круглые скобки. В большинстве систем значения вводятся в двойных или одинарных кавычках и разделяются запятыми.

Для каждой добавляемой строки используется отдельный оператор INSERT.



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

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



Использование оператора SELECT в команде INSERT

Для получения данных из одной или нескольких таблиц в команде INSERT можно использовать оператор SELECT. Упрощенный синтаксис команды INSERT, использующей оператор SELECT, имеет следующий вид:

INSERT INTO имя_таблицы [(вставляемый_список_столбцов)]

SELECT список_столбцов

FROM список_таблиц

WHERE условия

Оператор SELECT в команде INSERT позволяет взять данные из нескольких или всех столбцов одной таблицы и вставить их в другую таблицу.

Изменение существующих данных


В то время как оператор INSERT добавляет в таблицу новые строки, оператор UPDATE предназначен для изменения существующих в таблице данных.

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

Ниже приведен упрощенный синтаксис команды UPDATE, изменяющей выбранные строки:

UPDATE имя_таблицы

SET имя_столбца = выражение

[WHERE условие]

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

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

В предложении SET определяются столбцы и указываются их новые значения. В предложении WHERE можно указать изменяемые строки. Если предложение WHERE не используется, то при выполнении команды UPDATE будут изменены значения во всех строках столбцов указанных в предложении SET.

Предложение WHERE в операторе UPDATE определяет изменяемые строки. (Оно аналогично предложению WHERE в операторе SELECT).

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

Удаление данных: команда DELETE

Не менее важной, чем добавление и изменение строк, является возможность их удаления. Подобно INSERT и UPDATE, команда DELETE позволяет манипулировать с одной или несколькими строками. Так же, как и в случае с другими операторами модификации данных, при удалении строк можно пользоваться информацией из других таблиц.

Оператор DELETE имеет следующий синтаксис:

DELETE FROM имя_таблицы

WHERE условие

В предложении WHERE определяются подлежащие удалению строки.

В случае отсутствия предложения WHERE в операторе DELETE будут удалены все строки таблицы.
Контрольные вопросы

1. В чем различие между базовой таблицей и представлением?

2. Укажите назначение оператора выборки данных

1.17 Обоснование необходимости создания баз данных

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

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

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

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

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

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

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

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

Последнее время большое распространение получила новая технология построения базы данных – технология «клиент-сервер». Эта технология дает ряд неоспоримых преимуществ, по сравнению с технологией предыдущего поколения – технологией «файл-сервер». В частности:

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

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

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

Системы, построенные на новой технологии «клиент-сервер», отличаются

высокой степенью безопасности,

территориальной независимостью,

не требовательностью к аппаратной мощности клиентских станций.

Контрольные вопросы


  1. Назовите факторы, определяющие развитие технологии баз данных

  2. В чем назначение локальных баз данных?


1.18 Система безопасности

Данные в базе данных должны быть защищены, чтобы гарантировать их правильность, согласованность и автоматизированный доступ к ним. Современные системы баз данных осуществляют защиту правильности и целостности в требуемом окружении базы данных. В частности MS SQL Server адресует эти ключевые области средствами программируемого сервера, что позволяет запрограммировать корпоративную целостность данных, бизнес - правила и транзакции и распределить их между клиентскими приложениями.

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

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

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

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

Microsoft System Management Server (SMS) позволяет администратору отдельной системы управлять программной конфигурацией, лицензировать и модернизировать десятки тысяч клиентов. SMS автоматизирует многие задачи и минимизирует исключительные ситуации, требующие вмешательства специалистов.

Internet – это новый тип распределенного окружения клиент/сервер, который расширяет границы традиционных корпоративных информационных технологий. Основные требования к нему – безопасность, надежность и расширяемость хранения информации. Безопасность в Internet насущна и для расширения предприятий, и для ведения электронной коммерции. Промышленность сфокусирована на определении технологий и промышленных стандартов для безопасных коммуникаций между Web-серверами и броузерами. Технологии и стандарты включают в себя шифрование, безопасные транзакции, аутентификацию пользователей и идентифицирующий код или цифровую подпись. Microsoft и ее партнеры участвуют в разработке нескольких важных новых технологических стандартов, в том числе Secure Socket Layer (SSL), безопасный протокол шифрования данных, аутентификация сервера, целостность сообщений для TCP/IP соединения, безопасные электронные транзакции и технологический стандарт для защиты покупок по платежным картам в открытых сетях, подобных Internet.

Проблемы безопасности и целостности были решены для традиционных коммерческих приложений несколько лет назад технологиями Microsoft SQL Server, такими как безопасность пользователя и приложения, целостность данных и контроль согласованности, шифрование потока данных, репликация данных и прозрачность распределенных транзакций. Решение этих проблем для Internet не потребовало новой технологии. Применение технологии SQL Server к Internet дает проверенное решение сложной проблемы безопасности и целостности данных.

И Internet, и intranet серверы нуждаются в контроле над добавлением анонимных пользователей с особой проверкой доступа каждого пользователя и каждой группы. И Microsoft Internet Information Server, и Microsoft SQL Server строятся на модели безопасности Windows NT Server, предоставляя специфические средства доступа.

Чтобы создать приложение, которое устанавливает меры безопасности для систем баз данных можно использовать файловый ввод/вывод Visual Basic, OLE или API для получения данных из диаграммы организации или другого файла или приложения. Затем эту информацию можно использовать для создания объектов Login, User или Group и вставки их в коллекции Logins, Users или Groups. Затем назначаются полномочия с использованием метода Grant объектов Table, Database или StoredProcedure.

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

SQL Server разрешает системному администратору базы данных определять клиентов, которые могут войти на сервер. Имеется три режима безопасности SQL Server:

Стандартная модель безопасности SQL Sever требует от клиентов сообщать имя пользователя и пароль каждый раз при запросе соединения. Этим режимом также поддерживаются доверительные соединения.

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

Смешанная модель безопасности SQL Sever позволяет комбинировать способы безопасности.

По умолчанию SQL Server использует стандартную модель безопасности. Клиенты Excel могут подсоединяться к SQL Server с доверительными или стандартными соединениями. При решении реализовать SQL Workbook Publisher для корпоративной сети необходимо установить смешанную или стандартную модель безопасности. Если в этом нет необходимости, то можно использовать тот режим защиты, который кажется наиболее подходящим.

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

Одно из преимуществ SQL состоит в том, что он имеет собственную систему защиты.

Контрольные вопросы

  1. Назовите модели безопасности SQL Server.

  2. В чем проблема безопасности и целостности данных в современных БД?


1.19 Виды привилегий

Привилегии в СУБД можно подразделить на две категории: привилегии безопасности и привилегии доступа. Привилегии безопасности позволяют выполнять административные действия. Привилегии доступа, в соответствии с названием, определяют права доступа субъектов к определенным объектам.



Привилегии безопасности

Привилегии безопасности всегда выделяются конкретному пользователю (а не группе, роли или всем) во время его создания (оператором CREATE USER) или изменения характеристик (оператором ALTER USER). Таких привилегий пять:



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

  • createdb - право на создание и удаление баз данных. Этой привилегией, помимо администратора сервера, должны обладать пользователи, которым отводится роль администраторов отдельных баз данных.

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

  • maintain_locations - право на управление расположением баз. администраторы сервера баз данных и операционной системы.

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

Привилегии доступа

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

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

Для изменения состава группы служит оператор ALTER GROUP. Оператор DROP GROUP позволяет удалять группы, правда, только после того, как опустошен список членов группы. Оператор ALTER ROLE служит для изменения паролей ролей, a DROP ROLE - для удаления ролей.

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

Привилегии доступа можно подразделить в соответствии с видами объектов, к которым они относятся. В СУБД INGRES таких видов пять:



  • таблицы и представления

  • процедуры

  • базы данных

  • сервер баз данных

  • события.



Стандартные привилегии

SQL привилегии определенные ANSI - это привилегии объекта. Это означает, что пользователь имеет привилегию, чтобы выполнить данную команду только на определенном объекте в базе данных. Очевидно, что привилегии должны различать эти объекты. Привилегии объекта связаны одновременно и с пользователями и с таблицами. То есть, привилегия дается определенному пользователю в указанной таблице, или базовой таблице или представлении. Вы должны помнить, что пользователь создавший таблицу (любого вида), является владельцем этой таблицы.

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

SELECT Пользователь с этой привилегией может выполнять запросы в таблице.

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

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

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

REFERENCES Пользователь с этой привилегией может определить внешний ключ, который использует один или более столбцов этой таблицы, как родительский ключ. Вы можете ограничить эту привилегию для определенных столбцов. Кроме того, вы столкнетесь с нестандартными привилегиями объекта, такими, например как INDEX (ИНДЕКС) дающим право создавать индекс в таблице, SYNONYM (СИНОНИМ) дающим право создавать синоним для объекта и ALTER (ИЗМЕНИТЬ) дающим право выполнять команду ALTER TABLE в таблице. Механизм SQL назначает пользователям эти привилегии с помощью команды GRANT.



Контрольные вопросы

  1. В чем отличие выделения привилегий безопасности и привилегий доступ?

  2. Кто имеет все привилегии в таблице и может передавать их другим пользователям?


Раздел 2. Проектирование базы данных



2.1 Этапы проектирования базы данных

Задача проектирования базы данных проходит четыре основные этапа:

  • анализ предметной области;

  • построение концептуальной модели;

  • построение логической модели;

  • построение физической модели.

На первом этапе необходимо провести подробное словесное описание объектов предметной области и реальных связей, которые присутствуют между описываемыми объектами.

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

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

Существует два подхода к выбору состава и структуры предметной области:



  • функциональный подход – применяется, когда известны функции некоторой группы лиц и комплексов задач, для обслуживания информационных потребностей которых создается рассматриваемая БД;

  • предметный подход, – когда информационные потребности будущих пользователей БД жестко не фиксируются.

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

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

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

Решение проблем проектирования на физическом уровне во многом зависит от используемой СУБД. Чаще всего пользователю предоставляется возможность настройки отдельных параметров, которая не составляет большой проблемы.



2.2. Пример описания предметной области

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

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

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

Готовая продукция поступает в места хранения в соответствии с документом «Накладная на перемещение». Накладная содержит дату и номер документа, подразделение передавшее и принявшее продукцию, наименование продукции, единицу измерения, количество переданной продукции.

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

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



2.3 Концептуальная модель базы данных

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

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



  • готовая продукция;

  • склад;

  • отдел;

  • сотрудник;

  • накладная на перемещение.

Развернутая информация обо всех сущностях, с указанием имени, описанием имени и особенности использования приведены в таблице 1.
Таблица 1 - Сведения о типах сущностей

Имя сущности

Описание

Псевдоним

Особенности использования

1

2

3

4

Продукция

Готовая продукция

Номенклатура, товар

Одна и та же продукция может храниться на разных складах

1

2

3

4

Склад

Место хранения продукции

Место хранения

Каждый склад закреплен за определенным отделом

Отдел

Подразделение предприятия

Подразделение

Отдел может иметь несколько складов

Сотрудник

Работающий на предприятии персонал

Работник

Сотрудник может работать только в одном отделе

Накладная на пе-ремещение

Документ передачи готовой продукции на склад

Накладная

Посредством этого документа продукция передается со склада на склад

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

Таблица 2- Основные типы связи

Тип сущности

Тип связи

Тип сущности

Продукция

Хранится на

Склад

Сотрудник

Работает в

Отдел

Склад

Закреплен за

Отдел

Склад

Оформляет

Накладная на перемещение

Продукция

Связан с

Накладная на перемещение

Связь «Хранится на» является связью «многие ко многим», так как одна и та же Продукция может храниться на разных Складах, и на каждом Складе может храниться разная Продукция.

Связь «Работает в» является связью «один ко многим», так как Сотрудник может работать только в одном Отделе, в то же время в одном Отделе работают несколько Сотрудников.

Связь «Закреплен за» является связью «один ко многим», так как Склад закреплен только за одним Отделом, но Отдел может иметь несколько Складов.

Связь «Оформляет» является связью «один ко многим», так как Склад может оформлять несколько Накладных на перемещение, при этом каждая накладная может быть оформлена только на одном Складе.

Связь «Связана с» – это связь «многие ко многим», так как Накладная на перемещение может иметь несколько строк с разной Продукцией.

Выделим атрибуты для каждой сущности (таблица 3).

Таблица 3 - Атрибуты сущностей



Тип сущности

Атрибут

1

2

Продукция

Код

Наименование

Себестоимость

Единица

Склад

Код

Наименование

Отдел


Отдел

Номер

Наименование

ФИО руководителя

Сотрудник

Табельный номер

ФИО

Должность

Оклад

Адрес

Отдел

Накладная на перемещение

Дата

Номер

Склад передавший

Склад принявший

Продукция

Единица

Количество

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

Таблица 4 – Сущности и их первичные ключи

Сущность

Первичный ключ

Альтернативный ключ

Продукция

Код

Наименование

Склад

Код

Наименование

Отдел

Номер

Наименование

Сотрудник

Табельный _номер




Накладная на перемещение

Номер, продукция



1   2   3   4   5   6   7   8   9


База данных защищена авторским правом ©bezogr.ru 2016
обратиться к администрации

    Главная страница