Исходные данные к работе




КАФЕДРА

 

информационных технологий

 

 

ЗАДАНИЕ

НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ

СТУДЕНТА Дударева С.В. ГРУППЫ ПКС-420

 

 

  УТВЕРЖДАЮ    
  «   »   20__ г.
  Зав. кафедрой    
      В.Н. Лесечко  
         
                     

 

 

Хабаровск 2017 г.

Тема выпускной квалификационной работы

Разработка клиентского приложения для салона красоты «REDKEN LOFT 5th Avenue»

 

утверждена приказом ХИИК СибГУТИ от 30 марта 2017 года № 03-17/31

2.Срок сдачи студентом законченной работы 15 июня 2017 года

 

Исходные данные к работе

1 База данных клиентов и посещений, предоставленная в печатном виде салоном красоты;

2 Разработать компьютерную БД и клиентское приложение для работы с БД. Предусмотреть

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

ние отчётов посещаемости клиентов;

3 Среда разработки, сервер и язык программирования на выбор;

 

4.Содержание пояснительной записки (перечень подлежащих разработке вопросов) Сроки выполнения по разделам
1 Теоретические основы разработки клиентского приложения 22.05.17
1.1 Язык SQL. Синтаксис  
1.2 Реляционная модель данных. ER-модель. Связи между таблицами  
1.3 Нормализация таблиц. Ключи и индексы  
1.4 Среда быстрой разработки Embarcadero RAD Studio 10 Seattle  
2 Разработка клиентского приложения 28.05.17
2.1 Интерфейс приложения  
2.2 Таблицы, ключи и связи  
2.3 Принцип работы приложения  
2.4 Листинг  
3 Охрана труда и техника безопасности 05.06.17
3.1 Общее понятие охраны труда  
3.2 Общие положения техники безопасности  
3.3 Техника безопасности программистов  
3.4 Рациональное планирование рабочего места программиста  
Заключение 05.06.17
Список использованных источников 05.06.17
   
   
   
   
   
   

Дата выдачи задания 7 апреля 2017 г.

Руководитель __________________________

подпись

 

Задание принял к исполнению 7 апреля 2017 г.

Студент _______________________________

подпись


 


 

 



СОДЕРЖАНИЕ

 

 

Стр.

Введение  
1 Теоретическая основы для разработки приложения  
1.1 Язык SQL. Синтаксис  
1.2 Реляционная модель данных. ER-модель. Связи между таблицами  
1.3 Нормализация таблиц. Ключи индексы  
1.4 Среда быстрой разработки Embarcadero RAD Studio 10 Seattle  
2 Разработка клиентского приложения  
2.1 Интерфейс приложения  
2.2 Таблицы, ключи и связи  
2.3 Листинг  
3 Охрана труда и техника безопасности  
3.1 Общее понятие охраны труда  
3.2 Общие положения техники безопасности  
3.3 Техника безопасности программистов  
3.4 Рациональное планирование рабочего места программиста  
Заключение  
Список использованных источников  
   

 

 


ВВЕДЕНИЕ

 

В наше время в течение своей жизни любой человек ежедневно сталкивается с колоссальным объёмом информации, которую в свою очередь необходимо запоминать и использовать. Это и личная информация о людях, и назначенные встречи или приёмы, и картотеки об оборудовании на предприятиях и т.д. Чтобы облегчить себе процесс запоминания, люди стараются записывать важную информацию на различные, будь то бумажные или цифровые, носители. Записные книжки, картотеки, каталоги, списки штата, журнал оценок и т.д. – всё это примеры баз данных. Если обобщить, то база данных – это упорядоченный и организованный специальным образом набор сведений или информации какой-либо предметной области.

Однако, запись и поиск необходимых данных в несистематизированных источниках отнимает не менее колоссальный объём времени и сил. Поэтому в настоящее время практически на любом предприятии существуют компьютерные базы данных. Существенным преимуществом баз данных является их систематизированность. Это значит, что информация в базе данных расположена таким образом, что необходимые данные находит и обрабатывает ЭВМ. Так как объект работы, – базы данных и приложение для работы с БД, – являются неотъемлемой частью практически любого производственного процесса, можно с уверенностью утверждать, что тема выпускной квалификационной работы является актуальной.

Целью работы являлась разработка клиентского приложения для работы с базой данных клиентов, посещений и каталога услуг для салона красоты «REDKEN LOFT 5th Avenue». Субъект работы, т.е. салон красоты, относится к сфере услуг и имеет ряд особенностей производственного характера. Прежде всего, потребитель услуг, он же заказчик, непосредственно участвует в производственном процессе, т.е. при получении услуги, а это значит, что необходим более тесный контакт с клиентом. Во-вторых, хотя каждая услуга и имеет определённые стандарты и техники, нарушать которые нельзя, особенности и пожелания каждого конкретного клиента учитываться должны обязательно. Это говорит о том, что в сфере оказания услуг степень индивидуального подхода к каждому клиенту на порядок выше, чем в других сферах, когда потребитель не участвует в производственном процессе. Чтобы обеспечить эти две особенности, необходим качественный и тщательный сбор не только формальной информации о клиенте, например, ФИО, телефон, оказываемая услуга, но и так называемых неформальных данных. К неформальным данным о клиенте салона красоты можно отнести, например, наличие домашнего питомца, чтобы при следующем визите клиента мастер мог поддержать разговор, т.е. это может быть любая личная информация о клиенте, о которой мастер узнал из разговора. Именно эта информация поможет обеспечить личный контакт с конкретным клиентом и индивидуальный подход к каждому. Но вести данные вручную и впоследствии их искать – занятие очень трудоёмкое и при этом отнимающее много времени.

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

Разработка базы данных состоит из двух этапов:

- проектирование базы данных. Под проектированием базы данных понимается процесс создания схемы базы данных и определения необходимых ограничений целостности;

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

Проектирование базы данных включает в себя следующие два этапа:

- системный анализ предметной области. Под анализом предметной области понимается выявление требований заказчика и определение набора решаемых задач;

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

Создание базы данных происходит в среде определённой СУБД и состоит из:

- создания структуры базы данных – это процесс создания в среде ранее разработанных таблиц;

- заполнения базы данными.

В качестве СУБД использована реляционная СУБД MySQL, а администрирование осуществлено с помощью web-приложения phpMyAdmin. Для реализации приложения для работы с базой данных использована среда разработки Embarcadero RAD Studio 10 Seattle, которая располагает широким спектром возможностей и средств для реализации поставленных задач.

1 ТЕОРЕТИЧЕСКАЯ БАЗА ДЛЯ РАЗРАБОТКИ КЛИЕНТСКОГО ПРИЛОЖЕНИЯ

 

 

1.1 ЯЗЫК SQL. СИНТАКСИС

 

Структурированный язык запросов SQL (Structured Query Language) является наиболее распространённым непроцедурным языком манипулирования данными, позволяющий управлять базами данными и реализовывать операции реляционной алгебры.

Первый прототип SQL появился в 1970-х годах в компании IBM. Этот специальный язык назывался «SEQUEL» («Structured English QUEry Language» - структурный язык английских запросов) и позволял относительно просто управлять данными в СУБД. Позднее «SEQUEL» был переименован в «SQL». А в 1989 году «SQL» стал международным стандартом языка баз данных. Изначально стандарт «SQL» определялся «ANSI» («Американский Национальный Институт Стандартов»), но в данное время он также принимается «ISO» («Международная Организация по Стандартизации»).

Язык SQL относится к языкам высокого уровня (high-level programming language). Это значит, что пользователю помимо указания необходимых для получения данных нет необходимости уточнять процедуру их получения. Другими словами, программист выражает только свою потребность, переведённую в машинный код (machine code), а не возможности ЭВМ. В отличие от языков высокого уровня языки низкого уровня близки к машинным командам, но в то же время программы, написанные на таких языках, работают быстрее.

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

Относительно функционального назначения команд язык SQL состоит из следующих четырех частей, которые не являются самостоятельными отдельными языками:

- язык определения данных (Data Definition Language, DDL);

- язык манипулирования данными (Data Manipulation Language, DML);

- язык определения доступа к данным (Data Control Language, DCL);

- язык управления транзакциями (Тгаnsасtiоn Соntrol Language, TCL).

Язык определения данных (DDL) предназначен для описания структуры баз данных. Этот язык позволяет создавать, изменять и удалять различные составные части структуры данных, или объекты в БД, например, таблицы, представления, процедуры, триггеры, табличных области, пользователи, роли и т.д. Назначение команды определяется первым словом в предложении, называемое также запросом, которое может быть одним из следующих:

- запрос «CREATE» означает «создать». Запрос «CREATE» применяется для создания нового объекта в БД. Например, запрос «CREATE TABLE» означает «создать таблицу», запрос «CREATE VIEW» - «создать представление» и т.д.;

- запрос «ALTER» означает «изменить». Запрос «ALTER» применяется для изменения ранее созданного, т.е. уже имеющегося, объекта базы данных. Например, запрос «ALTER TABLE» означает «изменить таблицу», запрос «ALTER VIEW» - «изменить представление» и т.д.;

- запрос «DROP» означает «удалить». Запрос «DROP» применяется для удаления уже существующего объекта. Например, запрос «DROP TABLE» означает «удалить таблицу», «DROP INDEX» - «удалить индекс» и т.д.

Детальная структура синтаксиса запроса «CREATE» зависит от объекта, который создаётся, но в целом сводится к следующему:

CREATE тип_нового_объекта имя_нового_объекта.

В этом предложении «тип_нового_объекта» определяет, что мы создаём (например, DATABASE, TABLE, VIEW, SEQUENCE, INDEX, SYNONYM и так далее), а «имя_нового_объекта» присваивает индивидуальное имя этому объекту, по которому в дальнейшем при работе с базой данных пользователи будут обращаться.

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

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

(

имя_столбца тип_данных [(длина)] [DEFAULT выражение], …

).

В этой команде выражениями «имя_таблицы» и «имя_столбца» задаются имена таблицы и столбца (-ов) соответственно. Ко всем именам, присваиваемым таблицам и столбцам, применяются следующие обязательные правила:

- имя должно начинаться только с буквы;

- может включать в себя до 30 символов;

- может содержать прописные и строчные латинские буквы (A-Z, a-z), арабские цифры (0-9), знаки нижнего подчеркивания «_», доллара «$» и решётки «#».

Выражением «тип_данных» задаётся тип данных для каждого создаваемого столбца и устанавливаются правила для данных столбца создаваемой таблицы. К основным типам данных SQL можно отнести следующие:

- тип VARCHAR2 (n) задаёт символьные данные переменной длины, определяемой параметром n;

- тип NUMBER (p, s) определяет числовые данные с точностью и масштабом, задаваемыми параметрами p и s соответственно (параметры p и s не являются обязательными);

- тип DATE хранит данные, связанные с датой и временем;

- LOB-типы позволяют хранить большие объекты, будь то графика, звуковые файлы, фотографии, видео или большие символьные объекты, например, главы книг или большие документы. К этим типам относятся BLOB и CLOB, предоставляющие возможность хранения до 128 терабайт.

«DEFAULT выражение» устанавливает значение по умолчанию, оно используется в случае, если пользователь при заполнении таблицы данными или внесении изменений явно не задаст значение этого столбца. В качестве значения этого выражения могут использоваться строка, число и функция и не допускается использование имени другого столбца или псевдостолбца. Тип данных значения по умолчанию должен в обязательном порядке совпадать с типом данных этого столбца.

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

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

- запрос «SELECT» означает «выбрать» и производит выборку данных из таблицы согласно предложению запроса;

- запрос «INSERT» означает «вставить» и производит вставку новой строки в таблицу;

- запрос «UPDATE» означает «обновить» и производит модификацию данных поля (-ей) таблицы;

- запрос «DELETE» означает «удалить» и производит удаление строки (-к) из таблицы согласно условию.

Команда «SELECT» является одной из простейших команд языка SQL и наиболее часто используемой оператором DML. Предложение «SELECT» извлекает строки, столбцы и вычисляемые произвольные значения из одной или нескольких таблиц в пределах одной базы данных. В предложении «SELECT» пользователь явно указывает необходимые выходные данные, но не определяет способ получения этих данных, т.е. набор необходимых операций. Детальный синтаксис предложения «SELECT» достаточно сложный, но его можно свести к следующему:

SELECT {[ALL ½ DISTINCT]} отбираемый_элемент [ AS псевдоним] [, …]

FROM { имя_таблицы [ [AS] псевдоним] ½ имя_представления [ [AS] псевдоним] }

[ [тип_соединения] JOIN условие_соединения ]

[WHERE имя_столбца оператор_сравнения {имя_столбца ½ константа ½ список сравнений}]

[GROUP BY выражение_группировки [HAVING условие_поиска ] ]

[ORDER BY {выражение_для_сортировки [ASC ½ DESC] } ];

Предложение FROM указывает на таблицу (-ы), из которых производится извлечение указанных данных. Выражение «AS псевдоним» позволяет заменить длинные имена таблиц на более приемлемые, так называемые псевдонимы. Такие псевдонимы упрощают запросы и повышают производительность. Квадратные скобки, в которые заключено это выражение, указывают на то, что данная фраза не является обязательной и её можно опустить. Для выборки данных из нескольких таблиц требуется условие объединения. Строки одной таблицы соединяются со строками другой таблицы с помощью общих значений в соответствующих столбцах. Для выборки данных из двух и более таблиц язык SQL предоставляет два варианта решения: с помощью фразы «WHERE» и с помощью фразы «JOIN». Использование предложения «WHERE» является «старым» способ и в настоящее время используется редко. Синтаксис такого запроса сводится к следующему:

SELECT имя_таблицы_1.столбец, имя_таблицы_2.столбец

FROM имя_таблицы_1, имя_таблицы_2

WHERE имя_таблицы_1.столбец = имя_таблицы_2.столбец.

Другой способ соединения – использование фразы «JOIN». Преимущество этого способа заключается в том, что условие соединения таблиц вносится внутрь предложения «FROM», а во фразе «WHERE» находятся только условия отбора строк из таблиц. Синтаксис запрос из двух таблиц с использованием фразы «JOIN» имеет следующий общий вид:

SELECT псевдоним_таблицы_1.столбец, псевдоним_таблицы_2.столбец

FROM имя_таблицы_1 AS псевдоним_таблицы_1

[тип_соединения] JOIN имя_таблицы_1 AS псевдоним_таблицы_1 ON условие_соединения_1 [{AND ½ OR} условие_соединения_2].

В качестве типов соединения могут использоваться следующие:

- CROSS JOIN – полное перекрёстное соединение, также называемое декартовым произведением таблиц;

- INNER JOIN – объединение только пересекающихся по условию строк. Другими словами, выбираются только совпадающие данные из таблиц;

- LEFT [OUTER] JOIN – такое объединение таблиц, в котором строки будут возвращаться из левой таблицы. Это значит, что левая таблица будет являться внешней;

- RIGHT [OUTER] JOIN – такое объединение таблиц, в котором строки будут возвращаться из правой таблицы. Это значит, что правая таблица будет являться внешней;

- FULL [OUTER] JOIN – такое объединение, при котором возвращаются все строки из обеих таблиц вне зависимости от их пересечения;

- UNION JOIN – объединение, при котором происходит возврат всех столбцов и всех строк каждой из таблиц.

В случае, если нет соответствий для значений строк одной таблицы из другой, в качестве значений будут установлены NULL-значения.

Благодаря предложению WHERE в запросе SELECT можно ограничить количество выходных строк с помощью одного или нескольких условий поиска, соединенных необязательными выражениями «AND», «OR», «NOT», означающими «И», «ИЛИ» и «НЕТ» соответственно.

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

- COUNT – количество значений строк в столбце;

- SUM – сумма значений в столбце;

- AVG – среднее арифметическое значений в столбце;

- MIN – минимальное значение в столбце;

- MAX – максимальное значение в столбце.

Ограничивающее условие в предложение HAVING позволяет выводить только определённые группы значений, сформированные в логические группы фразой GROUP BY и удовлетворяющие заданному условию.

Отсортировать результирующую последовательность выходных строк позволяет предложение GROUP BY. Для изменения порядка сортировки после названия столбца указывается ключевое слово DESC, означающее обратный порядок сортировки (например, от большего к меньшему). По умолчанию для предложения ORDER BY задан параметр ASC, означающий упорядочивание строк в порядке возрастания.

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

- предложение «GRANT» означает «назначить или присвоить одну или несколько привилегий на один или несколько объектов базы данных»;

- предложение «REVOKE» означает «отменить назначенную раннее привилегию»;

- предложение «SET ROLE» означать «разрешить или запретить роли для текущего сеанса работы базы данных».

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

GRANT наименоание_привилегии_1, наименование_привелегии_2, …

ON имя_объекта

TO пользователь.

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

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

- команда «COMMIT» фиксирует изменения состояния базы данных, безвозвратно уничтожая прежнее состояние и точки сохранения. Другими словами, COMMIT закрывает открытую транзакцию, а последние незафиксированные изменения в базе данных делает постоянными;

- команда «ROLLBACK» производит откат изменений состояния базы данных и отменяет все незафиксированные действия, применённые в ходе текущей транзакции, или до определённой точки сохранения, или до исходного состояния;

- команда «SAVEPOINT» создаёт точку сохранения транзакции, которая делит транзакцию на части. Однако, стоит заметить, что создание такой точки не фиксирует произведённые изменения.

Синтаксис этих команд достаточно прост и понятен интуитивно. Синтаксис команды фиксации изменений следующий:

COMMIT [WORK].

Синтаксис команды отмены изменений следующий:

ROLLBACK [TO имя_точки_сохранения].

В этом предложении выражение «TO имя_точки_сохранения» позволяет произвести откат к определённой ранее созданной точке сохранения транзакции. В противном случае база данных будет возвращена в исходное состояние.

Синтаксис команды создания точки сохранения следующий:

SAVEPOINT имя_точки_сохранения.

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

 

1.2 Реляционная модель данных. ER-модель. Связи между таблицами

 

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

Название реляционная происходит от англ. relation – отношение. Отношением в теории множеств называется таблица. Благодаря такому подходу организации данных к управлению БД были применены математические принципы и точность, которых отсутствовали в ранних системах управления БД.

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

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

Для описания свойств отношения в реляционной модели данных необходимо ввести такие определения, как:

- сущность;

- атрибут;

- кортеж;

- заголовок отношения;

- тело отношения;

- степень отношения;

- мощность отношения.

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

Атрибутом отношения называется характеристика или так называемое свойство сущности, которое необходимо для выражения состояния этой сущности. В отношении атрибут представлен поименованным столбцов. Неформальным эквивалентным понятием «атрибут» является «столбец» или «поле». Фиксированное множество атрибутов отношения представляет собой заголовок отношения. В некоторых случаях заголовок называется интерпретацией. Число атрибутов отношения называется его степенью. Так, унарным отношением называется отношение степени один, бинарным – степени два и т.д.

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

Реляционные отношения обладают следующими обязательными свойствами.

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

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

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

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

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

Также к основным элементам реляционной модели данных относятся понятия «схема данных» и «ключ». Понятие «ключ» более подробно описывается в вопросе 1.3.

Операции с данными реляционной модели данных делятся на:

- операции над отношениями. Такие операции бывают унарными и бинарными. Унарные операции над отношениями – это операции преобразования одного отношения в другое, которое является подмножеством первого. Бинарные операции над отношениями – это такие операции, которые могут быть применены к двум отношениям с одинаковой схемой;

- операции над строками – это операции манипулирования кортежами в отношении.

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

Для осуществления всех операций реляционной алгебры были созданы так называемые «языки манипулирования данными». Такие языки являются языками высокого уровня. Это значит, что нет необходимости пользователю, помимо самих данных, указывать конкретную процедуру их получения. Например, к там языкам относятся SQL (Structured Query Language) – структурированный язык запросов и QBE (Quere-By-Example) – запросы по образцу.

К операциям над отношениями, которые также называются операциями обработки, относятся следующие:

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

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

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

- декартово произведение – это операция реляционной алгебры, выполняющаяся над двумя отношениями, имеющими разную совокупность атрибутов, с целью получения всех возможных сочетаний кортежей исходных отношений. Пары кортежей формируются путём сцепления кортежа из первого отношения, что является началом новой строки, с кортежем второго отношения. Количество кортежей (число строк) нового отношения равно произведению количества кортежей исходных отношений, а длина каждого кортежа – сумме длин кортежей этих отношений. Эта операция также имеет название «умножение»;

- выбор – это унарная операция реляционной алгебры, осуществляющая выборку подмножества кортежей из одного отношения по заданному условию, называемому предикатом. Такое условие состоит из имени столбца этого подмножества, одного из операторов сравнения (к ним относятся: <, <=, =, <>, >, >=) и константы или другого столбца этого подмножества. Несколько условий соединяются логическими операторами (AND, OR). Структура результирующего отношения является идентичной исходного, но количество кортежей будет меньше. Данная операция также имеет название «селекция» или «горизонтальное подмножество»;

- проекция – это унарная операция реляционной алгебры, которая выполняется над одним отношением, в результате которой формируется новое отношение с некоторым заданным подмножеством атрибутов исходного отношения. Порядок следования атрибутов может отличаться от порядка их следования в исходном отношении. Из результирующего отношения избыточные дублирующиеся кортежи исключаются вручную, т.е. путём применения дополнительных функций. Данная операция также имеет название «вертикальное подмножество»;

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

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

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

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

- добавляемая строка должна соответствовать схеме заданного отношения;

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

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

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

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

- неправильный формат, т.е. нарушение схемы отношения;

- некорректное значение, т.е. значение, не принадлежащее домену;

- повторение ключа уже существующей в отношении строки;

- отсутствие указанного кортежа в заданном отношении.

Среди преимуществ использования реляционных баз данных можно выделить следующие:

- таблица является упрощенным и привычным для восприятия вариантом представления данных;

- инструментальные средства поддержки реляционной модели данных являются достаточно прост



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: