Перейти к содержимому

Учебное пособие субд

Для того, чтобы оценить ресурс, необходимо авторизоваться.

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

Учебное пособие субд

Базы данных и системы управления базами данных: учебное пособие

Кол-во страниц: 267

Базы данных и системы управления базами данных: учебное пособие

Безопасность платежа
гарантирует

В учебном пособии рассмотрены вопросы: основные концепции организации данных и реляционная модель данных, внутренняя организация реляционных СУБД, элементы языка СУБД, архитектура клиент-сервер, разработка приложений для работы с БД, приложений на основе web-технологий, трехзвенная архитектура.
Предназначено для учащихся и преподавателей учреждений среднего специального образования по специальности «Программное обеспечение информационных технологий».

Wiki-учебник по веб-технологиям: MySQL .

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

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

В этой таблице данные – это собственно номера телефонов, адреса и ФИО., т.е. строки «Иванов Иван Иванович», « 32–43–12 » и т.п., а названия столбцов этой таблицы, т.е. строки «ФИО», «Номер телефона» и «Адрес» задают смысл этих данных, их семантику.

Таблица 10.1. Пример базы данных: телефонная книга

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

Для точности дадим определение базы данных, предлагаемое Глоссарий.ру

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

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

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

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

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

Примеры объектных СУБД: Cache, GemStone (от Servio Corporation), ONTOS (ONTOS).

В последнее время производители СУБД стремятся соединить два этих подхода и проповедуют объектно-реляционную модель представления данных. Примеры таких СУБД – IBM DB2 for Common Servers, Oracle8.

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

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

Первичный ключ (primary key, PK) – минимальный набор полей, уникально идентифицирующий запись в таблице. Значит, первичный ключ – это в первую очередь набор полей таблицы, во-вторых, каждый набор значений этих полей должен определять единственную запись (строку) в таблице и, в-третьих, этот набор полей должен быть минимальным из всех обладающих таким же свойством.

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

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

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

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

Например, у нас есть три таблицы: содержащая информацию об исторических личностях (Persons), содержащая информацию об их изобретениях (Artifacts) и содержащая изображения как личностей, так и артефактов (Images) (рис 10.1).

Читайте так же:  Налог на частные дома 2019

Первичным ключом во всех этих таблицах является поле id (идентификатор). В таблице Artifacts есть поле author, в котором записан идентификатор, присвоенный автору изобретения в таблице Persons. Каждое значение этого поля является внешним ключом для первичного ключа таблицы Persons. Кроме того, в таблицах Persons и Artifacts есть поле photo, которое ссылается на изображение в таблице Images. Эти поля также являются внешними ключами для первичного ключа таблицы Images и устанавливают однозначную логическую связь Persons-Images и Artifacts-Images. То есть если значение внешнего ключа photo в таблице личности равно 10, то это значит, что фотография этой личности имеет id=10 в таблице изображений. Таким образом, внешние ключи используются для организации связей между таблицами базы данных (родительскими и дочерними) и для поддержания ограничений ссылочной целостности данных.

2. Индексирование

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

Для этого (для оптимизации производительности запросов) производят индексирование некоторых полей таблицы. Использовать индексы полезно для быстрого поиска строк с указанным значением одного столбца. Без индекса чтение таблицы осуществляется по всей таблице, начиная с первой записи, пока не будут найдены соответствующие строки. Чем больше таблица, тем больше накладные расходы. Если же таблица содержит индекс по рассматриваемым столбцам, то база данных может быстро определить позицию для поиска в середине файла данных без просмотра всех данных. Это происходит потому, что база данных помещает проиндексированные поля поближе в памяти, так, чтобы можно было побыстрее найти их значения. Для таблицы, содержащей 1000 строк, это будет как минимум в 100 раз быстрее по сравнению с последовательным перебором всех записей. Однако в случае, когда необходим доступ почти ко всем 1000 строкам, быстрее будет последовательное чтение, так как при этом не требуется операций поиска по диску. Так что иногда индексы бывают только помехой. Например, если копируется большой объем данных в таблицу, то лучше не иметь никаких индексов. Однако в некоторых случаях требуется задействовать сразу несколько индексов (например, для обработки запросов к часто используемым таблицам).

Если говорить о Mysql, то там существует три вида индексов: PRIMARY, UNIQUE, и INDEX, а слово ключ (KEY) используется как синоним слова индекс (INDEX). Все индексы хранятся в памяти в виде B-деревьев.

PRIMARY – уникальный индекс (ключ) с ограничением, что все индексированные им поля не могут иметь пустого значения (т.е. они NOT NULL). Таблица может иметь только один первичный индекс, но он может состоять из нескольких полей.

UNIQUE – ключ (индекс), задающий поля, которые могут иметь только уникальные значения.

INDEX – обычный индекс (как мы описали выше). В Mysql, кроме того, можно индексировать строковые поля по заданному числу символов от начала строки.

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

Работать с Mysql можно не только в текстовом режиме, но и в графическом. Существует очень популярный визуальный интерфейс (кстати, написанный на PHP) для работы с этой СУБД. Называется он PhpMyAdmin. Этот интерфейс позволяет значительно упростить работу с базами данных в Mysql.

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

Перед тем как переходить к детальному изучению языка SQL, несколько слов об установке Mysql и подготовке к работе. Если вы не собираетесь заниматься администрированием сервера, то информация, приведенная ниже, пригодится вам только для общего развития. Итак, устанавливается Mysql очень просто – автоматически, пару раз нажмите OK, и все. После этого вы можете зайти в директорию, где лежат файлы типа Mysql.exe, Mysqld.exe и т.п. (у нас под Windows XP это c:\Mysql\bin) Последний файл запускает Mysql-сервер. В некоторых системах сервер запускается в виде сервиса. После запуска сервера следует запустить Mysql-клиент, запустив программу Mysql.exe. Здесь даже пароля не спросят. Более того, если вы наберете shell> Mysql.exe -u root или shell>Mysql -u root Mysql то получите все права администратора Mysql сервера. Кстати, выполнять эти команды надо, находясь в той директории, где лежат файлы Mysql.exe.
Для начала, не вдаваясь в подробности команд, исправим эти два недочета (отсутствие пароля у администратора и возможность входа анонимным пользователям):

Все данные о пользователях Mysql хранит в таблице user в специальной базе данных Mysql, доступ к которой имеет только администратор сервера. Поэтому, чтобы изменить какой-либо пароль, нужно изменить эту таблицу. Пароль задается с помощью функции PASSWORD, которая кодирует введенные данные. Кроме изменения пароля администратора, нужно еще удалить всех пользователей, не имеющих логина (команда DELETE). Команда Flush Privileges заставляет вступить в действие изменения, произошедшие в системной базе данных (Mysql).

Теперь создадим базу данных, с которой будем работать (мы все еще работаем как администратор сервера):
Mysql>create database book;

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

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

Команда GRANT наделяет пользователя nina, зашедшего на сервер с этой же машины (c localhost) и идентифицируемого паролем «123», определенными правами (в данном случае всеми) на все таблицы базы данных book. Теперь мы можем выйти и зайти как пользователь nina с соответствующим паролем:

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

5. Основные операторы языка SQL

6. Описание данных MySQL

7. Построение интерфейса для добавления информации

Итак, у нас есть какая-то таблица в базе данных. Чтобы построить интерфейс для добавления информации в эту таблицу, нужно ее структуру (т.е. набор ее полей) отобразить в html-форму.

Разобьем эту задачу на следующие подзадачи:

  • установка соединения с БД;
  • выбор рабочей БД;
  • получение списка полей таблицы;
  • отображение полей в html-форму.

После этого данные, введенные в форму, нужно записать в базу данных.

Рассмотрим все эти задачи по порядку.

8. Установка соединения

Итак, первое, что нужно сделать, – это установить соединение с базой данных.

Воспользуемся функцией Mysql_connect.

Данная функция устанавливает соединение с сервером Mysql и возвращает указатель на это соединение или FALSE в случае неудачи.

Читайте так же:  Новороссийск осаго

Для отсутствующих параметров устанавливаются следующие значения по умолчанию:
server = 'localhost:3306'
username = имя пользователя владельца процесса сервера
password = пустой пароль

Если функция вызывается дважды с одними и теми же параметрами, то новое соединение не устанавливается, а возвращается ссылка на старое соединение.

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

Параметр client_flags – это комбинация следующих констант:

Параметр new_link появился в PHP 4.2.0, а параметр client_flags – в PHP 4.3.0.

Соединение с сервером закрывается при завершении исполнения скрипта, если оно до этого не было закрыто с помощью функции Mysql_close().

Итак, устанавливаем соединение с базой данных на локальном сервере для пользователя nina с паролем “123”:

Действие Mysql_connect равносильно команде

9. Выбор базы данных

После установки соединения нужно выбрать базу данных, с которой будем работать. Наши данные хранятся в базе данных book. В Mysql выбор базы данных осуществляется с помощью команды use:

В PHP для этого существует функция Mysql_select_db.

Эта функция возвращает TRUE в случае успешного выбора базы данных и FALSE

  • в противном случае.

Сделаем базу данных book рабочей:

10. Получение списка полей таблицы

10.1. Синтаксис Mysql_list_fields

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

Функция Mysql_field_name возвращает имя поля, полученного в результате выполнения запроса. Функция Mysql_field_len возвращает длину поля. Функция Mysql_field_type возвращает тип поля, а функция Mysql_field_flags возвращает список флагов поля, записанных через пробел. Типы поля могут быть int, real, string, blob и т.д. Флаги могут быть not_null, primary_key, unique_key, blob,
auto_increment и т.д.

Синтаксис у всех этих команд одинаков:

Здесь result – это идентификатор результата запроса (например, запроса, отправленного функциями Mysql_list_fields или Mysql_query (о ней будет рассказано позднее)), а field_offset – порядковый номер поля в результате.

Вообще говоря, то, что возвращают функции типа Mysql_list_fields или Mysql_query, представляет собой таблицу, а точнее, указатель на нее. Чтобы получить из этой таблицы конкретные значения, нужно задействовать специальные функции, которые построчно читают эту таблицу. К таким функциям и относятся Mysql_field_name и т.п. Чтобы перебрать все строки в таблице результата выполнения запроса, нужно знать число строк в этой таблице. Команда Mysql_num_rows(ресурс result) возвращает число строк во множестве результатов
result.

А теперь попробуем получить список полей таблицы Artifacts (коллекция экспонатов).

В результате должно получиться примерно вот что (если в таблице всего два поля, конечно):

Имя поля: id
Тип поля: int
Длина поля: 11
Строка флагов поля:
not_null primary_key auto_increment
Имя поля: title
Тип поля: string
Длина поля: 255
Строка флагов поля:
Отображение списка полей в html-форму

Теперь немножко подкорректируем предыдущий пример. Будем не просто выводить информацию о поле, а отображать его в подходящий элемент html- формы. Так, элементы типа BLOB переведем в textarea (заметим, что поле description, которое мы создавали с типом TEXT, отображается как имеющее тип BLOB), числа и строки отобразим в текстовые строки ввода , а элемент, имеющий метку автоинкремента, вообще не будем отображать, поскольку его значение устанавливается автоматически.

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

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

В нашем случае в качестве разделителя нужно взять пробел “ ", а в качестве исходной строки для разбиения – строку флагов поля.

Итак, создадим форму для ввода данных в таблицу Artifacts:

Листинг 11.0.1. Форма для ввода данных в таблицу Artifacts

11. Запись данных в базу данных

Итак, форма создана. Теперь нужно сделать самое главное – отправить данные из этой формы в нашу базу данных. Как вы уже знаете, для того чтобы записать данные в таблицу, используется команда INSERT языка SQL. Например:

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

11.1. Синтаксис Mysql_query

Если открытые соединения отсутствуют, функция пытается соединиться с СУБД, аналогично функции Mysql_connect() без параметров. Результат запроса буферизируется.

Замечание: строка запроса НЕ должна заканчиваться точкой с запятой.

Только для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, Mysql_query() возвращает указатель на результат запроса, или FALSE, если запрос не был выполнен. В остальных случаях Mysql_query() возвращает TRUE, если запрос выполнен успешно, и FALSE – в случае ошибки. Значение, не равное FALSE, говорит о том, что запрос был выполнен успешно. Оно не говорит о количестве затронутых или возвращенных рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда. Mysql_query() также считается ошибочным и вернет FALSE, если у пользователя недостаточно прав для работы с указанной в запросе таблицей.

Итак, теперь мы знаем, как отправить запрос на вставку строк в базу данных.

Заметим, что в предыдущем примере элементы формы мы назвали именами полей таблицы. Поэтому они будут доступны в скрипте insert.php, обрабатывающем данные формы, как переменные вида

$_POST['имя_поля'].

Листинг 11.0.2. insert.php

Итак, задачу добавления данных с помощью web-интерфейса мы решили. Однако тут есть одна тонкость. При решении мы не учитывали тот факт, что значения некоторых полей (author, photo) должны браться из других таблиц (Persons, Images). Поскольку Mysql с внешними ключами не работает, этот момент остается на совести разработчиков системы, т.е. на нашей совести. Нужно дописать программу таким образом, чтобы была возможность вводить в такие поля правильные значения. Но мы делать этого не будем, поскольку задача лекции состоит в том, чтобы познакомить читателя с элементами технологии, а не в том, чтобы создать работающую систему. Кроме того, имеющихся у читателя знаний вполне достаточно, чтобы решить эту проблему самостоятельно. Мы же обратимся к другой задаче – отображение данных, хранящихся в базе данных СУБД Mysql.

Основы технологий баз данных

Новиков Б. А.
Основы технологий баз данных: учеб. пособие / Б. А. Новиков, Е. А. Горшкова; под ред. Е. В. Рогова. — М.: ДМК Пресс, 2019. — 240 с.

ISBN 978-5-94074-820-5 (ДМК Пресс)
ISBN 978-5-6041193-3-4 (Постгрес Профессиональный, электронное издание)

Представлены основы теории баз данных, методы и алгоритмы, применяемые при реализации систем управления базами данных, а также особенности этих методов и алгоритмов, реализованные в СУБД PostgreSQL.

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

Осенью 2018 года Борис Асенович прочитал одноименный курс лекций на факультете ВМК МГУ им. М. В. Ломоносова. Лекции не повторяют весь материал книги; в них подробно разбираются наиболее сложные вопросы.

Читайте так же:  Налог на усн какой бюджет

Борис Асенович Новиков, доктор физико-математических наук, профессор кафедры информационно-аналитических систем Санкт-Петербургского государственного университета.

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

Борис Асенович является членом редакционных коллегий журналов «Программирование» и «Computer Science and Information Systems», участвует в подготовке многих международных конференций в составе программных комитетов, а также сочетает научно-исследовательскую и преподавательскую деятельность с участием в промышленных проектах.

Горшкова Екатерина Александровна, кандидат физико-математических наук.

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

Графеева Наталья Генриховна, кандидат физико-математических наук, доцент кафедры информационно-аналитических систем Санкт-Петербургского государственного университета.

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

В первой части книги рассматриваются темы:

  • Введение
  • Теоретические основы БД
  • Знакомство с базой данных
  • Введение в SQL
  • Управление доступом в базах данных
  • Транзакции и согласованность базы данных
  • Разработка приложений СУБД
  • Расширения реляционной модели
  • Разновидности СУБД

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

Учебное пособие субд

Учебное пособие было опубликовано в 1999 г. в двух частях издательством Башкирского государственного университета.

Выходные данные:
УДК 519.6
ББК 32.973-018.2

Пушников А.Ю. Введение в системы управления базами данных. Часть 1. Реляционная модель данных: Учебное пособие/Изд-е Башкирского ун-та. - Уфа, 1999. - 108 с. - ISBN 5-7477-0350-1.

Пушников А.Ю. Введение в системы управления базами данных. Часть 2. Нормальные формы отношений и транзакции: Учебное пособие/Изд-е Башкирского ун-та. - Уфа, 1999. - 138 с. - ISBN 5-7477-0351-X.

Рецензенты: канд.тех.н., доц. Мартынов В.В. (Уфимский государственный авиационный техни-ческий университет); кафедра автоматизированных систем управления УГАТУ.

Учебное пособие субд

Базы данных и системы управления базами данных: Учебное пособие / Лазицкас Е.А., Загумённикова И.Н., Гилевский П.Г. - Мн.:РИПО, 2016. - 268 с.: ISBN 978-985-503-558-0 - Режим доступа: http://znanium.com/catalog/product/946561

В учебном пособии рассмотрены вопросы: основные концепции организации данных и реляционная модель данных, внутренняя организация реляционных СУБД, элементы языка СУБД, архитектура клиент-сервер, разработка приложений для работы с БД, приложений на основе web-технологий, трехзвенная архитектура. Предназначено для учащихся и преподавателей учреждений среднего специального образования по специальности «Программное обеспечение информационных технологий».

Проектирование баз данных. СУБД Microsoft Access

ТЕМА 1. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ER-ТЕХНОЛОГИИ 3
1. ОСНОВНЫЕ ПОНЯТИЯ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ 3
1.1. Базы данных 3
1.2. Этапы проектирования БД 6
1.3. Реляционная модель данных 7
КОНТРОЛЬНЫЕ ВОПРОСЫ 19
2. ПРОЕКТИРОВАНИЕ РБД С ИСПОЛЬЗОВАНИЕМ ER-ТЕХНОЛОГИИ 20
2.1. Постановка задачи проектирования РБД 20
2.2. Один из подходов к проектированию БД: метод «сущность-связь» 20
КОНТРОЛЬНЫЕ ВОПРОСЫ 26
ЗАДАНИЕ 1 27

ТЕМА 2. ПОЛУЧЕНИЕ ОТНОШЕНИЙ ИЗ ДИАГРАММЫ ER-ТИПА 28
1. ПРЕДВАРИТЕЛЬНЫЕ ОТНОШЕНИЯ ДЛЯ БИНАРНЫХ СВЯЗЕЙ 1:1 29
КОНТРОЛЬНЫЕ ВОПРОСЫ 34
ЗАДАНИЕ 2 34
2. ПРЕДВАРИТЕЛЬНЫЕ ОТНОШЕНИЯ ДЛЯ БИНАРНЫХ СВЯЗЕЙ 1:N 35
КОНТРОЛЬНЫЕ ВОПРОСЫ 36
ЗАДАНИЕ 3 37
3. ПРЕДВАРИТЕЛЬНЫЕ ОТНОШЕНИЯ ДЛЯ БИНАРНЫХ СВЯЗЕЙ СТЕПЕНИ N:M 38
3.1. Пример проектирования 39
КОНТРОЛЬНЫЕ ВОПРОСЫ 41
ЗАДАНИЕ 4 41
4. СВЯЗИ БОЛЕЕ ВЫСОКОГО ПОРЯДКА 42
КОНТРОЛЬНЫЕ ВОПРОСЫ 44
ЗАДАНИЕ 5 45
5. ИСПОЛЬЗОВАНИЕ РОЛЕЙ 45
6. СВЯЗЬ МЕЖДУ ТАБЛИЦАМИ 47
КОНТРОЛЬНЫЕ ВОПРОСЫ 49
ЗАДАНИЕ 6 49
7. ОСНОВНЫЕ ОБЪЕКТЫ СУБД MS ACCESS 52
Состав файла БД. Архитектура СУБД 53

ТЕМА 3. ТАБЛИЦЫ 55
1. ПРОЕКТИРОВАНИЕ БД 55
1.1. Проектирование БД TOYOTA 56
1.2. Связи между таблицами 57
2. СОЗДАНИЕ БД 58
3. СОЗДАНИЕ ТАБЛИЦЫ МОДЕЛЕЙ АВТОМОБИЛЕЙ 59
3.1. Объявление полей 61
3.2. Виды представления таблицы 71
4. РЕДАКТИРОВАНИЕ ПРОЕКТА ТАБЛИЦЫ 72
4.1. Редактирование записей 75
4.2. Работа с буфером обмена 75
4.3. Добавление записей 77
4.4. Редактирование и печать записей 80
4.5. Работа с клиентами 81
5. СВЯЗЫВАНИЕ ТАБЛИЦ 87
5.1. Что означает целостность данных 90
5.2. Доработка таблицы клиентов 92
6. ИМПОРТИРОВАНИЕ, ВСТРАИВАНИЕ И ЭКСПОРТИРОВАНИЕ ТАБЛИЦ 95
6.1. Импортирование таблиц 96
6.2. Встраивание таблиц 99
6.3. Экспортирование таблиц 100
КОНТРОЛЬНЫЕ ВОПРОСЫ 102
ЗАДАНИЕ 7 103

ТЕМА 4. ЗАПРОСЫ – В ЦЕНТРЕ ВНИМАНИЯ РЫНОК СБЫТА 104
1. ТИПЫ ЗАПРОСОВ 104
2. РЕЖИМЫ ПРЕДСТАВЛЕНИЯ ЗАПРОСА 106
3. ПРОЕКТИРОВАНИЕ ЗАПРОСА НА ВЫБОРКУ 112
3.1. Окно запроса 114
3.2. Проектирование запроса 115
3.3. Включение полей в запрос 115
3.4. Установка критериев отбора записей 117
3.5. Упорядочение записей в запросе 117
4. ВЫПОЛНЕНИЕ ЗАПРОСА 118
5. СОХРАНЕНИЕ ЗАПРОСА 119
6. РЕДАКТИРОВАНИЕ ЗАПРОСА 119
7. ДРУГИЕ ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ ЗАПРОСА НА ВЫБОРКУ 120
8. ПРОЕКТИРОВАНИЕ ПЕРЕКРЕСТНОГО ЗАПРОСА 123
9. ЗАПРОСЫ НА ИЗМЕНЕНИЕ 132
9.1. Проектирование запроса на создание таблицы 133
9.2. Проектирование запроса на добавление 135
9.3. Проектирование запроса на удаление 138
9.4. Проектирование запроса на изменение 139
КОНТРОЛЬНЫЕ ВОПРОСЫ 140
ЗАДАНИЕ 8 141

ТЕМА 5. ФОРМЫ 143
1. ПРОЕКТИРОВАНИЕ ДИАГРАММНОЙ ФОРМЫ 146
1.1. Типы диаграмм 148
1.2. Составление диаграммы 149
2. ПРОЕКТИРОВАНИЕ СОСТАВНОЙ ФОРМЫ 152
2.1. Оформление составной формы 157
2.2. Перенос полей и изменение размера полей 157
3. ДОБАВЛЕНИЕ УПРАВЛЯЮЩИХ ЭЛЕМЕНТОВ 162
3.1. Вставка контрольного индикатора 165
3.2. Проведение линий 166
3.3. Вычисляемые поля 167
3.4. Форматирование текста 170
3.5. Встраивание объекта 172
4. СОХРАНЕНИЕ И ОТКРЫТИЕ ФОРМЫ 176
5. РЕДАКТИРОВАНИЕ ФОРМЫ 178
5.1. Добавление кнопки 178
5.2. Написание макроса 179
5.3. Добавление кнопок 180
5.4. Создание кнопки Назад 181
5.5. Создание кнопок с помощью мастера 183
6. ПЕЧАТЬ ФОРМЫ 186
КОНТРОЛЬНЫЕ ВОПРОСЫ 189
ЗАДАНИЕ 9 189

ТЕМА 6. ОТЧЕТЫ 190
1. СОЗДАНИЕ ОТЧЕТА 191
2. ДОРАБОТКА ОТЧЕТА 198
2.1. Области отчета 198
2.2. Создание и внедрение фирменного знака 201
2.3. Ввод названия фирмы в нижний колонтитул 205
3. ПРОЕКТИРОВАНИЕ И ВСТРАИВАНИЕ ПОДОТЧЕТА 205
3.1. Проектирование подотчета 206
3.2. Добавление вычисляемого поля 208
3.3. Встраивание подотчета 211
КОНТРОЛЬНЫЕ ВОПРОСЫ 213
ЗАДАНИЕ 10 213

ТЕМА 7. СТРАНИЦЫ ДОСТУПА К ДАННЫМ 214
1. СОСТАВНЫЕ ЧАСТИ СТРАНИЦЫ ДОСТУПА К ДАННЫМ 215
2. РАЗРАБОТКА СТРАНИЦ ДОСТУПА К ДАННЫМ РАЗЛИЧНЫХ ТИПОВ 216
2.1. Типы источников данных для страниц доступа к данным 216
2.2. Автоматическое создание страниц доступа к данным 219
2.3. Создание страницы доступа к данным с помощью мастера страниц 221
2.4. Создание страниц доступа к данным в режиме конструктора 221
2.5. Стратегии создания страниц доступа к данным 228
3. СОХРАНЕНИЕ ОБЪЕКТА КАК СТРАНИЦЫ ДОСТУПА К ДАННЫМ 231
4. ИСПОЛЬЗОВАНИЕ СТРАНИЦ ДОСТУПА К ДАННЫМ 232
4.1. Использование в браузере Internet Explorer 232
4.2. Использование в Microsoft Access 232
5. ИЗМЕНЕНИЕ СТРАНИЦ ДОСТУПА К ДАННЫМ 233
5.1. Изменение внешнего вида страниц
c использованием тем 233
КОНТРОЛЬНЫЕ ВОПРОСЫ 234
ЗАДАНИЕ 11 234