Принципы работы баз данных
Читайте также:
- A. Центр координации спасательных работ, инициировавший прекращение работы, должен передать сообщение по УБПЧ об отмене команды «SILENCE FINI».
- I Настройка NanoCADа для работы
- I. Общие понятия контрольно — ревизионной работы в ПФР
- I. Особенности организации самостоятельной работы
- I. Сортировка данных
- I. Этические принципы психолога
- I.2.3. Основные виды работы школьного психолога.
- I.3.1. Особенности диагностической работы школьного психолога в отличие от психолога-исследователя.
- II. Во время работы.
- II. ВЫБОР ТЕМЫ КУРСОВОЙ РАБОТЫ.
- II. Дидактические принципы.
- II. Правила оформления выпускной квалификационной работы
Работа с СУБД
Язык IL
Язык ST
Текстовый язык высокого уровня, по синтаксису ориентированный на Pascal. Язык предоставляет булевы и арифметические операторы, а также конструкции структурного программирования:
VAR X1, X2, X3, Y: END VAR
IF X1=TRUE THEN X2:=FALSE: END IF:
IF X3=TRUE THEN X2:=FALSE ELSE X2:=TRUE: END IF:
Y:=(X1 AND NOT X2) OR X3
END FUNCTION BLOCK
Текстовый язык низкого уровня. Выглядит как язык Ассемблера, но к архитектуре конкретного процессора не привязан.
Языки IEC 1131-3 содержат богатый набор стандартных функций:
— числовые (ADD, SUB, MOD, ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, ASIN, ACOS, ATAN и т.д.);
— сравнения (INSERT, DELETE, REPLACE, FIND и другие);
— а также функции, определяемые производителем и пользователем.
— дифференцирование переднего и заднего фронтов (R.TRIG, F.TRIG);
— счетчики (TP, TON, TOF, RTC);
— и др. функциональные блоки, в том числе определяемые пользователем.
— битовые строки (BOOL, TYPE, WORD, DWORD, LWORD);
— целые (INT, SINT, DINT, LINT);
— беззнаковые целые (USINT, IDINT …);
— вещественные (REAL, LREAL);
— временные (TIME, DATE, TIME OF DAY, DATE OF TIME);
— строки символов (STRING).
Имеется возможность задавать также массивы, структуры и т.д.
Одна и та же программа для PLC может быть написана на разных языках, а также на смеси языков. Например, одни функциональные блоки на FBD описываются с помощью LD, другие – на ST, FBD и т.д.
Все языки поддерживаются соответствующим ПО, наиболее распространенным из которых является ISaGRAF фирмы CJ International. Этот программный продукт представлен в виде двух частей: набора средств разработки и исполняемого на целевом PLC ядра-интерпретатора. Набор средств разработки исполняется на компьютере проектировщика и состоит из редактора, отладчика и препроцессора (подготавливает описанный алгоритм управления к виду, понятному интерпретатору).
Этот набор позволяет тестировать алгоритм в режиме эмуляции и получать листинг алгоритма на языке его описания.
После создания и отладки пользовательская программа загружается в память PLC для исполнения. В PLC ядро-интерпретатор транслирует пользовательский алгоритм.
Достоинство данной технологии разработки программ: машинно-зависимым является ядро, а не программа, что позволяет создавать программы для разных PLC, переходить с одного PLC на другой без переотладки. Недостаток: более медленное исполнение программы.
База данных (БД) – информация, связанная между собой по определенному признаку, хранимая и организованная особым образом, как правило, в виде таблиц.
Пример таблицы БД приведен на рисунке 3.10.
Номер замера | Скважина | Дата | Время | Дебит |
… | … | 02.07.2003 … | 19:50:20 … | … |
Функции БД:
— добавление новой информации;
— добавление новых таблиц;
— изменение информации в существующих таблицах;
Существует большое количество программ, которые предназначены для программной поддержки БД и образуют класс систем управления БД (СУБД).
СУБД выполняет функции:
— управление данными непосредственно в БД, находящейся на сервере;
— управление данными, находящимися в памяти компьютера – функция, связанная с тем, что СУБД работают с БД большого размера; в целях ускорения работы СУБД используется буферизация данных в памяти каждого компьютера;
— управление транзакциями – функция, которая производит ряд операций над БД как над единым целым. Транзакция – манипуляция над данными (добавление, изменение, удаление, запрос). Если транзакция успешно выполняется, то СУБД вносит соответствующие изменения в БД, в противном случае БД не изменяется;
— управление изменениями и протоколирование – функция, связанная с надежностью хранения данных, т.е. возможностью СУБД восстанавливать состояние БД в аварийных ситуациях, например, при выключении питания, сбое носителя информации и т.д.; для восстановления используется журнал транзакций и архивная копия БД;
— поддержка языков БД – для работы с БД используются специальные языки, наиболее распространенным из которых является SQL.
Для работы с БД, как правило, используется архитектура «клиент — сервер» [41]. Основу СУБД составляет сервер БД – программа, осуществляющая комплекс действий по управлению данными. В качестве клиента БД может выступать другая программа, работающая на том же компьютере, что и сервер, либо на другом, связанном с компьютером-сервером посредством сети. Таким образом, данная архитектура включает, как минимум, три компонента:
— сервер БД, который, собственно, и является СУБД;
— клиенты БД – программы или компьютеры с соответствующими программами, выполняющие запросы к серверу;
— сеть или коммуникационное программное обеспечение (рисунок 3.11).
В принципе, и клиентская, и серверная части СУБД могут находиться на одном компьютере, но, в большинстве случаев, на предприятиях программа-сервер запускается на одном компьютере (сервере), а программа-клиент – на рабочих компьютерах.
На практике наибольшее распространение получили т.н. реляционные БД, представляющие собой набор таблиц, связанных отношениями. При этом в каждой таблице имеется одно или несколько полей, называемых первичными ключами и однозначно определяющих конкретную запись в таблице. Зная значение первичного ключа, всегда можно определить конкретную запись в таблице и, следовательно, значения остальных полей записи. Например, первичными ключами могут служить номер технологического объекта (уникальный), табельный номер оператора, номер паспорта работника и т.д. Фамилия работника, тип установки и т.д. первичными ключами являться не могут, т.к., например, на предприятии могут работать несколько работников с одинаковыми фамилиями или функционировать несколько однотипных установок. Т.е. первичный ключ должен быть уникальным и, по возможности, целочисленным. Первичный ключ может состоять из нескольких полей (составной первичный ключ).
Связи между таблицами осуществляются посредством первичных ключей. На рисунке 3.12 приведен пример БД, состоящей из трех таблиц («Технологические объекты», «Датчики» и «Измерения»). Обозначены поля: N_об – номер технологического объекта, N_дтч – номер датчика.
Связи (отношения между таблицами) могут быть идентифицирующие и неидентифицирующие. Если запись в таблице-потомке однозначно определяется своей связью с таблицей-родителем, то отношение между этими таблицами является идентифицирующим. В этом случае первичный ключ таблицы-родителя становится первичным ключом (или частью первичного ключа) таблицы-потомка. Например, отношение «производят» на рисунке 14 является идентифицирующим для таблицы-родителя «Датчики» и таблицы-потомка «Измерения», поэтому первичный ключ таблицы-родителя (поле «N_дтч») становится частью составного ключа таблицы-потомка. Отношение «содержат» является неидентифицирующим, поэтому первичный ключ таблицы-родителя «Технологические объекты» (поле «N_об») становится обычным полем таблицы-потомка «Датчики».
Дата добавления: 2015-07-02 ; Просмотров: 815 ; Нарушение авторских прав? ;
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Начало работы с базами данных
В этом курсе:
Базы данных и веб-приложения могут принести большую пользу вашему бизнесу. Проектирование базы данных играет важнейшую роль в достижении ваших целей независимо от того, что вам нужно: управлять сведениями о сотрудниках, предоставлять еженедельные отчеты по данным или отслеживать заказы клиентов. Уделив время изучению всех нюансов проектирования баз данных, вы сможете создавать базы, которые будут не только отвечать вашим текущим требованиям, но и адаптироваться к изменениям.
Важно: Веб-приложения Access отличаются от классических баз данных. В этой статье не рассматривается проектирование веб-приложений.
Понятия и термины
Для начала рассмотрим основные термины и понятия. Чтобы спроектировать полезную базу данных, необходимо создать таблицы с данными по одному объекту. В таблицах можно собрать все данные по этому объекту и отобразить их полях, которые содержат наименьшую единицу данных.
Реляционные базы данных
База данных, в которой данные разделены на таблицы по типу электронных. Каждая таблица включает данные по одному объекту, например по клиентам (одна таблица) или товарам (другая таблица).
Области хранения отдельных данных в таблице. В каждой строке ( или записи) хранится уникальный элемент данных, например имя клиента. Столбцы ( или поля) содержат сведения по каждой точке данных в виде наименьшей единицы: имя может находиться в одном столбце, а фамилия — в другом.
Значение, которое обеспечивает уникальность каждой записи. Допустим, есть два клиента с одинаковыми именами, например Юрий Богданов. Но у одного из них первичный ключ записей — 12, а у другого — 58.
Общие связи между таблицами. Например, у одного клиента может быть несколько заказов. Родительские таблицы содержат первичные ключи. Дочерние таблицы содержат внешние ключи, т. е. значения первичного ключа, которые показывают, как записи дочерней таблицы связаны c записями родительской. Эти ключи связываются отношениями.
Что понимать под хорошим проектированием базы данных?
В основе проектирования хорошей базы данных лежат два принципа:
Избегайте повторяющихся сведений (избыточных данных). Они занимают много места на диске и повышают вероятность ошибок.
Следите за правильностью и полнотой данных. Неполные или неправильные сведения отображаются в запросах и отчетах, что в конечном итоге может привести к принятию ошибочных решений.
Чтобы избежать этих проблем:
Разделяйте информацию в базе данных по таблицам для отдельных объектов. Избегайте повторения информации в нескольких таблицах. (Например, имена клиентов должны находиться только в одной таблице.)
Объединяйте таблицы с помощью ключей, а не путем дублирования данных.
Используйте процессы, которые обеспечивают точность и целостность информации в базе данных.
Проектируйте базу данных с учетом своих требований к обработке данных и созданию отчетов по ним.
Чтобы повысить пользу баз данных в долгосрочной перспективе, выполните следующие пять шагов по проектированию:
Шаг 1. Определение назначения базы данных
Прежде чем начать, сформулируйте цель базы данных.
Чтобы спроектировать специализированную базу данных, определите ее назначение и часто обращайтесь к этому определению. Если вам нужна небольшая база данных для домашнего бизнеса, можно дать простое определение, например: «Эта база данных содержит список сведений о клиентах для рассылки и создания отчетов». Для корпоративной базы данных можно дать определение из нескольких абзацев, в котором будет описано, когда и как люди с различными ролями используют базу данных и содержащуюся в ней информацию. Создайте специальное и подробное определение цели и периодически обращайтесь к нему в процессе проектирования.
Шаг 2. Поиск и упорядочение необходимых сведений
Соберите все типы данных, которые необходимо записывать, например названия товаров и номера заказов.
Начните с существующих сведений и методов отслеживания. Предположим, вы записываете заказы на покупку в книге учета или ведете записи о клиентах в бумажных формах. Используйте эти источники, чтобы создать список собираемых сведений (например, всех полей в формах). Если в настоящее время вы не собираете важные сведения, подумайте, какие дискретные данные вам необходимы. Каждый отдельный тип данных становится полем в вашей базе данных.
Не беспокойтесь, если ваш первый список несовершенен — вы сможете доработать его со временем. Однако всегда помните о людях, которые будут пользоваться этой информацией, и учитывайте их мнение.
Затем подумайте, что вы ждете от своей базы данных и какие отчеты или рассылки вы хотите создавать. Убедитесь, что вы собираете данные, которые отвечают этим целям. Например, если вам нужен отчет о продажах по регионам, вам необходимо собирать данные о продажах на региональном уровне. Попробуйте сделать набросок желаемого отчета, используя фактические данные. Затем составьте список данных, необходимых для создания отчета. Сделайте то же самое для рассылок или других выходных данных, которые нужно получить из базы данных.
Предположим, вы даете клиентам возможность подписаться на периодическую рассылку (или отказаться от нее) и хотите распечатать список подписавшихся пользователей. Вам нужно создать столбец «Отправка почты» в таблице «Клиенты» с допустимыми значениями «Да» и «Нет».
Для тех, кто хочет получать рассылку, вам нужно добавить электронный адрес, что также требует отдельного поля. Если вы хотите использовать соответствующее обращение к получателю (например, «Уважаемый» или «Уважаемая»), добавьте поле «Обращение». Если в письмах вы хотите обращаться к клиентам по имени, добавьте поле «Имя».
Совет: Не забывайте разбивать данные на наименьшие единицы, например имя и фамилию в таблице «Клиенты». Вообще, если вы хотите выполнять сортировку, поиск, вычисления или отчет на основе элемента данных (например, фамилии клиента), следует поместить этот элемент в отдельное поле.
Шаг 3. Разделение данных по таблицам
Разделите элементы данных на основные объекты, например товары, клиенты или заказы. Каждый объект выносится в таблицу.
После создания списка необходимых сведений определите основные объекты, необходимые для организации данных. Избегайте повторения данных между объектами. Например, предварительный список для базы данных по продажам товаров может выглядеть так:
К основным объектам относятся клиенты, поставщики, товары и заказы. Поэтому начните с соответствующих четырех таблиц: по клиентам, поставщикам и т. д. Возможно, ваша конечная цель состоит не в этом, но это будет хорошим началом.
Примечание: Лучшие базы данных содержат несколько таблиц. Избегайте искушения поместить все данные в одну таблицу. Это приведет к повторению информации, увеличению размера базы данных и повышению вероятности ошибок. Каждый элемент данных должен записываться только один раз. Если вы обнаружите повторяющиеся сведения, например адрес поставщика, измените структуру базы данных так, чтобы эта информация находилась в отдельной таблице.
Чтобы понять, почему чем больше таблиц, тем лучше, рассмотрим следующую таблицу:
Каждая строка содержит сведения о товаре и его поставщике. Так как у одного поставщика может быть несколько товаров, имя и адрес поставщика должны многократно повторяться, что занимает много места на диске. Вместо этого один раз запишите сведения о поставщике в отдельной таблице «Поставщики» и свяжите ее с таблицей «Товары».
Вторая проблема проектирования возникает тогда, когда нужно изменить сведения о поставщике. Предположим, вам нужно изменить адрес поставщика. А так как адрес указан во многих полях, можно случайно изменить его в одном поле и забыть изменить в других. Эту проблему можно решить, записав адрес поставщика только в одном поле.
Наконец, предположим, у вас есть только один товар, поставляемый компанией Coho Winery, и вы хотите удалить этот товар, но сохранить имя и адрес поставщика. Как удалить запись о товаре, не потеряв сведений о поставщике, с такой структурой базы данных? Это невозможно. Так как каждая запись содержит информацию о товаре вместе с данными о поставщике, их невозможно удалить по отдельности. Чтобы разделить эти сведения, необходимо сделать из одной таблицы две: одну — для сведений о товаре, другую —для сведений о поставщике. И только после этого удаление записи о товаре не будет приводить к удалению сведений о поставщике.
Шаг 4. Превращение элементов данных в столбцы
Определите, какие данные необходимо хранить в каждой таблице. Эти отдельные элементы данных становятся полями в таблице. Например, таблица «Сотрудники» может содержать такие поля, как «Фамилия», «Имя» и «Дата приема на работу».
После выбора объекта для таблицы базы данных столбцы в ней должны содержать сведения только об этом объекте. Например, таблица по товарам должна содержать сведения только о товарах, а не о поставщиках.
Чтобы определить, какие данные нужно отследить в таблице, используйте ранее созданный список. Например, таблица «Клиенты» может содержать такие поля: «Имя», «Фамилия», «Адрес», «Отправка почты», «Обращение» и «Электронный адрес.» Каждая запись (клиент) в таблице содержит один и тот же набор столбцов, поэтому по каждому клиенту можно хранить одинаковую информацию.
Создав свой первый список, периодически проверяйте и дорабатывайте его. Не забудьте разбить данные на наименьшие возможные поля. Например, если ваш исходный список содержит поле «Адрес», разбейте его на поля «Улица», «Город», «Область/республика», «Индекс». Или, если у вас международная клиентская сеть, можно использовать даже большее количество полей. Таким образом вы сможете выполнять рассылку в правильном формате или создавать отчеты о заказах по штатам или областям.
Доработав столбцы с данными во всех таблицах, вы готовы выбрать первичный ключ для каждой из них.
Шаг 5. Задание первичных ключей
Выберите первичный ключ для каждой таблицы. Первичный ключ, например код товара или код заказа, является уникальным идентификатором каждой записи. Если у вас нет явного уникального идентификатора, его можно создать с помощью Access.
Вам нужно однозначно определить каждую строку в каждой таблице. Вернемся к примеру с двумя клиентами с одинаковым именем. Так как у них одно и то же имя, им нужно дать уникальный идентификатор.
Поэтому каждая таблица должна содержать столбец (или набор столбцов), который однозначно определяет каждую строку. Это и есть первичный ключ. Он часто является уникальным числом, например кодом сотрудника или порядковым номером Используя первичные ключи, Access быстро связывает данные из нескольких таблиц и сводит их для вас воедино.
Иногда первичный ключ состоит из нескольких полей. Например, в таблице «Сведения о заказе», которая содержит позиции по заказам, первичный ключ может включать два столбца: «Код заказа» и «Код товара». Если в первичном ключе используется несколько столбцов, он также называется составным ключом.
Если у вас уже есть уникальный идентификатор для данных в таблице, например номера товаров, однозначно определяющие каждый продукт в каталоге, используйте его, но только если эти значения соответствуют следующим правилам первичных ключей:
Идентификатор для каждой записи всегда уникален. Повторяющиеся значения в первичном ключе не допускаются.
Для каждого элемента всегда существует значение. Каждая запись в таблице должна иметь первичный ключ. Если вы создаете ключ с помощью нескольких столбцов, например «Группа позиций» и «Код позиции», всегда должны присутствовать оба значения.
Первичный ключ представляет собой неизменное значение. Так как на ключи ссылаются другие таблицы, при любом изменении первичного ключа в одной таблице необходимо изменить его во всех других. Частые изменения повышают риск возникновения ошибок.
Если у вас нет явного идентификатора, то в качестве первичного ключа используйте произвольный уникальный номер. Например, вы можете присвоить каждому заказу уникальный номер, только чтобы идентифицировать его.
Совет: Чтобы создать уникальный номер в качестве первичного ключа, добавьте столбец, используя тип данных «Счетчик». Этот тип данных автоматически присваивает каждой записи уникальное числовое значение. Такой идентификатор не содержит фактических сведений о строке, которую он представляет. Он идеален в качестве первичного ключа, так как в отличие от ключей, содержащих фактические данные о строке (например, номер телефона или имя клиента), числа не изменяются.
Вам нужны дополнительные возможности?
Эффективная база данных требует продуманной структуры. В этом видео вы узнаете, что такое базы данных, в частности, РЕЛЯЦИОННЫЕ базы данных, которые можно создавать в Access. Вы узнаете, как организовать базу данных с помощью ТАБЛИЦ и как создать связь между таблицами с помощью КЛЮЧЕЙ.
Итак, что же такое база данных? В широком смысле база данных — это любой упорядоченный набор данных. Базой данных можно назвать кулинарную книгу, а также этот простой список имен и номеров телефонов в Excel.
Следующий вопрос: чем отличается база данных Access? Зачем ее использовать? Ответ кроется в РЕЛЯЦИОННОЙ СТРУКТУРЕ ТАБЛИЦ. Вот что это значит.
Данные упорядочиваются в виде ТАБЛИЦ. Таблицы связываются друг с другом с помощью ОБЩИХ ПОЛЕЙ, называемых КЛЮЧАМИ.
Ключи выполняют две задачи. Во-первых, с их помощью каждой строке таблицы присваивается значение. Как видите, человеку по имени Григорий Авдеев присвоено значение 1, а человеку по имени Регина Покровская — значение 2.
Ключи также позволяют связывать таблицы благодаря использованию одних и тех же значений в нескольких ПОЛЯХ. Например, здесь значение ключа, назначенного Григорию, связано с двумя телефонными номерами, то есть это его номера. Значение же ключа, назначенного Елизавете Поляковой, связано с тремя полями, то есть это ее телефонные номера.
В базе данных имеются ключи двух типов. Значения ключей задаются в ЭТОМ поле и используются в ЭТОМ конечном поле. Исходное поле называется ПЕРВИЧНЫМ КЛЮЧОМ, а конечное — ВНЕШНИМ КЛЮЧОМ. Однако само по себе наличие таких полей еще не означает, что они связаны. Вам необходимо создать связь между таблицами.
Вы можете подумать: «Все это требует немалых усилий. Зачем мне это делать?» Хороший вопрос. Во-первых, повышается эффективность хранения данных. Видите, как часто повторяются здесь имена?
В реляционной структуре большинство данных вводятся только один раз. Таким образом экономится пространство. Реляционные структуры также повышают точность, так как при повторном вводе данных растет риск допустить ошибку.
Например, посмотрите, что произойдет, если неправильно ввести имя Елизаветы Поляковой. Этот номер телефона станет труднее найти, и вы, возможно, никогда не заметите ошибку. Так как в реляционной структуре большинство данных вводятся только один раз, риск возникновения ошибок снижается. Если вы все же допустили ошибку, ее достаточно исправить в одном месте.
Реляционные структуры — это также отличный способ фиксации транзакций. В зависимости от назначения базы данных транзакция может указывать на то, какие учащиеся находятся в той или иной аудитории, какие продажи были выполнены или кто одолжил вашу книгу.
Итак, теперь вам известны три основных этапа разработки базы данных. Первый этап — это сбор всех данных, которые необходимо хранить. В этом примере нам требовались имена клиентов, их номера телефонов и категории этих номеров.
Второй этап — определение данных, которые могут повторяться. В этом примере это имена клиентов.
Наконец, третий этап — выделение таких данных в отдельную таблицу.
Но, возможно, вы заметили, что данные в поле «Тип» также повторяются? Совершенно верно. Эти данные также можно было бы выделить в отдельную таблицу. Но так как это всего лишь несколько значений, лучше создать для них список выбора.
Создание реляционной структуры с помощью таблиц и ключей является важнейшим этапом разработки эффективной базы данных. Реляционная база данных Access позволит вам сэкономить время, пространство, уменьшить количество ошибок и фиксировать транзакции с важными фрагментами данными, тем самым повысив эффективность работы.
Основы работы с базами данных
Умение обращаться с файлами данных — чуть ли не одна из самых важных ступений в обучении программированию на Visual Basic! Здесь я постараюсь выложить только самые основные приёмы работы с объектом Data.
Прежде чем начать использовать базу данных её нужно сначала создать ;)!
1.Создайте стандартный проект.
2.Кликните на ToolBox’e на кнопку Data и натяните на форму так, чтобы полоска была не очень широкой и в самом низу формы.
3.Теперь создайте на форме четыре кнопки и назовите их (по порядку создания): cmdAdd, cmdDelete, cmdUpdate, cmdExit. Свойствам Caption дайте эти же имена, только без «cmd».
4.Создайте на форме три текстовых поля одинаковой длины.
5.Теперь надо связать объект Data с какой-нибудь базой данных. С какой? С той которая есть у всех владелцев VBasic’a — biblio.mdb! Активируйте объект Data и в свойствах, в DatabaseName выберите этот файл. Теперь там же, но в поле RecordSource надо выбрать раздел «Authors». Этим мы выберем только нужную часть базы данных.
6.Выделите первое текстовое поле и в свойствах, в DataSource выберите единственную в списке, созданную нами базу данных Data1, т.е. тем самым мы связываем это текстовое поле с объектом Data1. А в поле свойств DataField выберите «Au_ID». Теперь задача этого поля отображать идентификационный номер каждого автора! То же самое проделайте со следующими двумя другими полями, но в DataField вместо «Au_ID» выберите «Author» и «Year Born».
Поздравляю! Если Вы ещё этого никогда не делали, то знайте — Вы написали первую в своей жизни простенькую программку для отображения содержания базы данных. А теперь научимся редактировать её. Итак, главное редактирование — это занесение записей и удаление их.
7.Щёлкните два раза на кнопку Add и введите:
8.Следующая кнопка сохраняет внесённые изменения в базе данных. Сделайте двойной клик по кнопке Update и введите:
9.Теперь самое лёгкое — удаление записей. Ведь правильно говорят — «Ломать — не строить!» :-))). Делаем двойной щелчок по кнопке Delete и вводим:
10.И теперь для кнопки Exit просто введите:
Всё! А тепeрь Вы создали почти настоящую программу с базой данных.
10.Запустите проект. Нажмите на правую кнопку >. Содержание полей сменилось! Теперь нажмите на правую кнопку >|. В полях появились самые последние записи! То же самое будет происходить при нажатии на левые кнопки |11.Теперь нажмите кнопку «Add».
12.Первое поле НЕ испраляйте, во второе ввидите, например, ваше имя, а в третье год рождения.
13.Теперь сохраните эту запись, нажав кнопку «Update».
14.Знайте, ваша запись теперь сохранена на самом последнем месте! Можете снова «прогуляться» по записям и вернутся наконец с помощью правой кнопки >|. Ваша запись на месте.
15.Теперь нажмите на кнопку Delete. запись исчезла! НО! В этом случае мы НЕ можем удалять записи сделанные не нами.
Ну, вот и готово! А теперь я расскажу немного о создании некотрых удобств с работой с базой данных. Например, представим себе, что Вы, просматривая нашу базу данных, заметили имя автора где-то в середине и через некоторое время должны вернуться к этой записи. Не пролистывать же нам снова окло тысячи имён. Для этого можно создавать так называеимые закладки!
16.создайте на форме ещё две кнопки с именами cmdMBM и cmdSMB со следующими надписями: Make the Bookmark и Show the Bookmark.
17.Теперь в разделе формы General Declarations объявите переменную, которая будет содержать идентификатор актуальной записи:
18.Теперь делаем двойной щелчок по кнопке cmdMBM и вводим:
19.Теперь делаем двойной щелчок по кнопке cmdSBM и вводим:
20.Снова запустите проект и прощёлкайте несколько записей.
21.Нажмите кнопку «Make the Bookmark». Так, теперь пролистайте ещё дальше или вернитесь, вобщем уйдите от этой записи.
22.Щёлкните на кнопку «Show the Bookmark».
В полях появились записи, на которые Вы и поставили закладку!
А теперь я расскажу немного о поисках записей в базе данных. Представьте себе, что Вам нужно найти конкретное имя автора из тысяч других. WOW. :-)) Представили? Ну, так вот листать — вроде совсем не интересно. Нужно воспользовать одним из способов нахождения :
FindFirst, FindLast, FindNext или FindPrevious. В следующей таблице представлены ихзначения:
Метод | Пояснение |
---|---|
FindFirst | Ищет первую запись в БД |
FindLast | Ищет последнюю запись в БД |
FindNext | Ищет каждую следующую запись в БД |
FindPrevious | Ищет предыдущую запись в БД |
23.Создайте кнопку cmdFind c надписью «Find» и впишите:
24.Теперь запустите проект. Выищите какое-нибудь имя из БД и нажмите кнопку Find.
25.Введите имя и нажмите ОК.
Имя появилось! Чтобы искалось имя с конца БД слово FindFirst надо поменять на FindLast. А если Вы хотите проверить БД на наличие одного имени несколько раз надо применять слово FindNext и каждый раз вызывать поиск!
Основы работы с базами данных
Выбери свою IT специальность
Будь в курсе новостей подпишись на нас в соцсетях
Выбери свою IT специальность
Выбери свою IT специальность
Работа программиста тесно связана с базами данных и предполагает знание алгоритмов, навыков проектирования баз данных, SQL, а также знакомство со специальными библиотеками и фреймворками, которые используются для работы с базами данных на разных программных платформах.
В этой рассылке мы сделали подборку видео курсов, статей и вебинаров, которые помогут вам сформировать базовые знания, необходимые разработчику.
Видео курсы ITVDN по работе с базами данных:
Тренажер по курсу SQL Essential
Используйте тренажер ITVDN для формирования практических навыков! В практикуме по курсу SQL Essential вам нужно будет выполнить 41 задачу. Вы можете использовать подсказки, но учтите – при этом у вас будут сниматься баллы. Наилучшего результата прохождения практикума по SQL — 645 баллов – на данный момент достигли только 4 пользователя ITVDN. Попробуйте свои силы.
SQL. Нормальные отношения
Из данной статьи вы узнаете о значимости нормализации. Используя нормализацию, мы избавляемся от избыточности данных, а значит – экономим память. Во-вторых, мы решаем проблемы обновления данных, исключаем связанные с этим возможные возникновения аномалий. В-третьих, упрощаем контроль целостности данных. В-четвертых, база данных более понятно описывает реальный мир и готова к дальнейшему расширению. Читайте статью в блоге ITVDN.
Запись вебинара «SQL vs NoSQL»
В этом видео Богдан Ромашка ознакомит вас с разными типами как самих БД, так и СУБД.
Содержание вебинара:
- Краткое рассмотрение СУБД
- Основные модели БД. Реляционная модель. Бессхемный подход (NoSQL)
- Популярные СУБД. Реляционные СУБД. NoSQL (NewSQL) СУБД
- Сравнение SQL и NoSQL БД.
Смотрите запись вебинара.
Основы реляционных баз данных и языка SQL
Содержание вебинара:
- Особенности реляционных баз данных. Как таблица превратилась в отношение?
- Классификация операторов SQL.
- Пример создания простой базы данных сотрудников в среде MS-SQL.
Смотрите запись вебинара.
Интенсив по LINQ. Упрощаем работу с данными в С#/.NET
Автор вебинара Юрий Оборожный познакомит вас с такой известной технологией как LINQ. В видео рассмотрены основы LINQ и ее сфера использования, знакомство с фильтрацией, объединением, преобразованием и множеством других методов, а также стратегии проецирования, построения сложных запросов, производительности. Вы узнаете, что такое методы расширения и анонимные типы, какие есть best practices написания запросов, получите представление об интерпретируемых запросах к удалённым источникам данных. Запись вебинара.
28 августа День открытых дверей в StartIT
Кто такой QA и “с чем его едят”? Этим вопросом задаются многие, кто планирует начать свою карьеру в тестировании. На Дне открытых дверей в StartIT вы узнаете, чем занимаются QA и главное — как ими становятся. Спикер встречи Константин Клюев поделится своей success story. Расскажет почему и как пришел к решению стать тестировщиком, как обучался этому и как прошел путь от от Junior QA до QA Lead/BA/PM. Подробности встречи.
Курса FrontEnd Developer в CyberBionic Systematics
21 августа в CyberBionic Systematics начнется курс FrontEnd Developer. Формируются 2 группы – утренняя (9:00 до 11:00) и вечерняя (с 19:00 до 21:00). Занятия будут проходить три раза в неделю по 2 часа. Всем участникам курса ITVDN дарит 15 видео курсов по FrontEnd технологиям. Вы научитесь создавать полноценные веб сайты, изучите язык разметки страниц, каскадные таблицы стилей, язык программирования JavaScript, библиотеку JQuery, и Angular JS, а также разработаете несколько проектов, которые Вы сможете выложить на гитхаб, или показать своему работодателю. Программа курса и регистрация.
Воспользуйтесь промо-кодом 3GHCF2C и получите скидку 10% на любой тип подписки ITVDN (кроме QA и PM). Срок действия промо-кода с 9 до 17 августа 2020 года.
C наилучшими пожеланиями, команда ITVDN
Оставайтесь с нами и приводите друзей!
ПРИСОЕДИНЯЙТЕСЬ К НАМ В СОЦИАЛЬНЫХ СЕТЯХ! |
Copyright © 2020 ITVDN. Все права защищены. Вы получили это сообщение, так как являетесь подписчиком портала ITVDN и дали согласие на получение маркетинговых рассылок.
Основы работы с базами данных Под базой данных
Основы работы с базами данных Под базой данных понимается некоторая унифицированная совокупность данных, совместно используемая персоналом/населением группы, предприятия, региона, страны, мира. . . Требования к базам данных Хорошо спроектированная база данных: 1. Удовлетворяет всем требованиям пользователей к содержимому базы данных. 2. Гарантирует непротиворечивость и целостность данных. 3. Обеспечивает естественное, легкое для восприятия структурирование информации. 4. Удовлетворяет требованиям пользователей к производительности базы данных 1
1. 2. 3. Шаги проектирования базы данных: Определить информационные потребности базы данных. Проанализировать объекты реального мира, которые необходимо смоделировать в базе данных. Сформировать из этих объектов сущности и характеристики этих сущностей (например, для сущности «деталь» характеристиками могут быть «название», «цвет», «вес» и т. п. ) и сформировать их список. Поставить в соответствие сущностям и характеристикам — таблицы и столбцы (поля) в нотации выбранной Вами СУБД. 2
4. 5. 6. 7. Определить атрибуты, которые уникальным образом идентифицируют каждый объект. Выработать правила, которые будут устанавливать и поддерживать целостность данных. Установить связи между объектами (таблицами и столбцами), провести нормализацию таблиц. Спланировать вопросы надежности данных и, при необходимости, сохранения секретности информации. 3
Системы управления базами данных Функции СУБД – наличие средств для ввода и хранения не только самих данных, но и описаний их структуры. 1. Управление данными – обеспечивает хранение данных и служебной информации, обеспечивающей работу СУБД. 2. Управление данными в памяти компьютера – в целях ускорения работы СУБД используется буферизация данных в оперативной памяти компьютера. 3. Управление транзакциями – производит ряд операций над БД, как над единым целым. Если транзакция (манипуляция с данными) успешно выполняется, то СУБД вносит соответствующие изменения в БД. 4
Архитектура клиент/сервер Система построенная по принципу клиент/сервер состоит из трех компонентов: q сервер БД – управляет хранением данных, доступом, защитой, резервным копированием, отслеживает целостность данных и выполняет запросы клиента; q клиенты – представляют собой различные приложения пользователей и выполняющие запросы к серверу; q сеть и коммуникационное программное обеспечение – осуществляющее взаимодействие между клиентом и сервером с помощью сетевых протоколов. 5
Основные концепции реляционных баз данных В реляционной теории одним из главных является понятие отношения: Пусть даны n множеств D 1, D 2, . . . , Dn. Тогда R есть отношение над этими множествами, если R есть множество упорядоченных наборов вида , где d 1 — элемент из D 1, d 2 элемент из D 2, . . . , dn — элемент из Dn. При этом наборы вида называются кортежами, а множества D 1, D 2, . . . , Dn доменами. Каждый кортеж состоит из элементов, выбираемых из своих доменов. Эти элементы называются атрибутами, а их значениями атрибутов. 6
Следующие тройки терминов являются эквивалентными: отношение, таблица, файл (для локальных баз данных) кортеж, строка, запись атрибут, столбец, поле. Реляционная база данных представляет собой совокупность отношений, содержащих всю необходимую информацию и объединенных различными связями. Атрибут (или набор атрибутов), который может быть использован для однозначной идентификации конкретного кортежа называется первичным ключом. 8
Для ускорения доступа по первичному ключу во всех СУБД имеется механизм, называемый индексированием. Индекс представляет собой инвертированный древовидный список, указывающий на истинное местоположение записи для каждого первичного ключа. Вразных СУБД индексы реализованы поразному (в локальных СУБД — как правило, в виде отдельных файлов), но принципы их организации одинаковы. Для поддержания ссылочной целостности данных во многих СУБД имеется механизм так называемых внешних ключей. Некоторому атрибуту (или группе атрибутов) одного отношения назначается ссылка на первичный ключ другого отношения, тем самым закрепляются связи подчиненности между этими отношениями. 9
Отношение, на первичный ключ которого ссылается внешний ключ другого отношения, называется master-отношением, или главным отношением; а отношение, от которого исходит ссылка, называется detail-отношением, или подчиненным отношением. После назначения такой ссылки СУБД имеет возможность автоматически отслеживать вопросы «не нарушения» связей между отношениями. Реляционную БД можно рассматривать как набор отношений, связанных между собой. Связь в данном случае — это ассоциирование двух или более отношений. Существуют следующие основные виды связей: один к одному; один ко многим; многие к одному; многие ко многим. 10
Связь «один к одному» предполагает, что в каждый момент времени каждому элементу (кортежу) А соответствует 0 или 1 элементов (кортежей) В 1 1 А В Связь «один ко многим» состоит в том, что в каждый момент времени каждому элементу (кортежу) А соответствует несколько элементов (кортежей) В. Например: в доме проживает много жильцов. 11
Связь «многие к одному» предполагает, что в каждый момент времени множеству элементов А соответствует 1 элемент В. Например: несколько студентов представляют собой студенческую группу. А В 12
Связь «многие ко многим» состоит в том что в каждый момент времени множеству элементов А соответствует множество элементов В. Этот тип связи в реляционных БД непосредственно «не поддерживается. Пример: у студентов учебные занятия по дисциплинам ведут множество преподавателей. 13
Реляционная алгебра Основой реляционной модели БД является реляционная алгебра, основанная на теории множеств и рассматривающая специальные операторы над отношениями. Набор алгебраических операций состоит из восьми основных отношений: o выборка; o проекция; o объединение; o пересечение; o вычитание; o произведение; o соединение; o деление. 14
Выборка Результатом выборки отношения по некоторому условию является отношение, которое включает только те кортежи первоначального отношения, которые удовлетворяют этому условию. Проекция При осуществлении проекции отношения на заданный набор его атрибутов будет получено отношение, кортежи которого взяты из соответствующих кортежей первоначального отношения. 15
Объеденение При выполнении операции объединения двух отношений будет получено отношение, включающее все кортежи, входящие хотя бы в одно из участвующих в операции отношений. Пересечение В качестве результата операции пересечения двух отношений получается отношение, включающее все кортежи, входящие в оба первоначальные отношения. 16
Вычитание Отношение являющее разностью двух отношений, включает все кортежи, входящие в первое отношение и одновременно такие, что ни один из них не входит в отношение, являющееся вторым. Произведение А Б Г В Д А А Б Б В В Г Д Г Д При выполнении прямого произведения двух отношений получаются отношение, кортежи которого являются сочетанием кортежей первого и второго отношения. 17
Соединение А Г Г Б Г В Д Ж А Г Ж Д З Б Г Ж Е В Д З И При соединении двух отношений по некоторому условию образуется результирующее отношение, кортежи которого являются сочетанием кортежей первого и второго отношений, удовлетворяющим этому условию. Деление А Г А Д Г А Е А Д Б Д В Е В Д Результат операции – отношение, состоящее из кортежей, включающих значение первого атрибута кортежей первого отношения, причем таких, что множество значений второго атрибута совпадает со множеством значений второго атрибута. 18
Проектирование логической структуры базы данных Нормализация базы данных Проектирование базы данных осуществляется на основе подхода, при котором весь процесс проектирования производится в терминах реляционной модели данных. Начало проектирования — представление предметной области (то есть той реальной информации, которая будет храниться в БД) в виде одного или нескольких отношений. Процесс проектирования представляет собой нормализацию схем отношений, причем каждая следующая нормальная форма (НФ) обладает свойствами лучшими чем предыдущая. 19
Идея нормализации заключается в следующем. Каждая таблица в реляционной базе данных удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное значение, и никогда не может быть множества таких значений. После применения правил нормализации логические группы данных располагаются не более чем в одной таблице. 20
Выделяют следующую последовательность нормальных форм: • первая нормальная форма (1 НФ); • вторая нормальная форма (2 НФ); • третья нормальная форма (ЗНФ); • нормальная форма Бойса-Кодда (НФБК), • четвертая нормальная форма (4 НФ). • пятая нормальная форма, или нормальная форма проекции-соединения (ЗНФ или НФПС) Основные свойства НФ: • каждая следующая НФ в некотором смысле лучше предыдущей; • при переходе к следующей НФ свойства предыдущих нормальных форм сохраняются. 21
Приведение к первой нормальной форме Когда поле в данной записи содержит более одного значения для каждого вхождения первичного ключа, такие группы данных называются повторяющимися группами. 1 НФ не допускает наличия таких многозначных полей. Пример: Таблица ОТДЕЛ №_отдела 100 600 100 Название Руководитель продаж Иванов разработок Петров продаж Иванов Бюджет 1000000 11000000 Расположение Москва Зеленоград Тверь Калуга Для приведения этой таблицы к 1 НФ мы должны устранить атрибут Расположение из таблицы ОТДЕЛ 22
Создадим новую таблицу РАСПОЛОЖЕНИЕ _ОТДЕЛОВ, в которой определить первичный ключ, являющийся комбинацией номера отдела и его расположения (№_отдела+Расположение). Теперь для каждого расположения отдела существуют различные строки. Табл. РАСПОЛОЖЕНИЕ_ОТДЕЛОВ №_отдела Расположение 100 Москва 100 Зеленоград 600 Тверь 100 Калуга 23
Приведение ко второй нормальной форме Следующий шаг — удалении всех неключевых атрибутов, которые зависят только от части первичного ключа. Такие атрибуты называются частично зависимыми. Неключевые атрибуты заключают в себе информацию о данной сущности предметной области, но не идентифицируют ее уникальным образом. Пример: Табл. ПРОЕКТ №_ раб 28 17 06 ИД_проек Фамилия Наз_проек ОП_ проек Продукт БРЖ Иванов Биржа программа ДОК Петров Документы программа УПР Сидоров Управление адм. меры 24
Приведение к третьей нормальной форме Третий этап процесса приведения таблиц к нормальной форме состоит в удалении всех неключевых атрибутов, которые зависят от других неключевых атрибутов. Каждый неключевой атрибут должен быть логически связан с атрибутом (атрибутами), являющимся первичным ключом. Пример: Табл. ПРОЕКТ ИД_проек БРЖ ДОК УПР №_ руков Телефон Назв_ проек 02 2 -21 Биржа 12 2 -43 Документы 08 2 -56 Управление Продукт программа адм. меры 25
Табл. ПРОЕКТ ИД_проек Руководитель Назв_ проек БРЖ 02 Биржа ДОК 12 Документы УПР 08 Управление Продукт программа адм. меры Табл. РАБОТНИКИ №_ раб 02 08 Фамилия Иванов Петров №_ отдела 100 200 Код. ПРФ Телефон инж 2 -69 мндж 2 -56 23 Сидоров 200 мндж -45 26
Основы работы с базами данных (БД). Как создавать базы данных и таблицы баз данных. Как подключиться к БД через PHP. Инструкция INCLUDE
Данную статью я хочу посвятить такому важному моменту в создании сайтов, как работа с базами данных. В статье мы подробно рассмотрим основные моменты, такие как создание базы данных и таблиц баз данных через phpMyAdmin, добавление информации в БД через phpMyAdmin, подключение к базе данных посредством PHP, а также рассмотрим инструкцию INCLUDE, которая позволяет подключать к документу другие файлы, что сильно облегчает работу при создании сайтов и скриптов.
Сразу хочу заметить, что тему создания базы данных мы уже затрагивали в статье «Установка Joomla на Denwer. Создание базы данных и пользователей БД. Перенос Joomla на хостинг». Исходя из этого, в этой статье мы пропустим пункт о создании пользователей баз данных. Если же вам интересен данный момент, то узнать о нем вы можете из статьи, ссылка на которую находится чуть выше.
Создание базы данных через phpMyAdmin
Для создания базы данных можно использовать панель управления хостингом, если вы создаете базу данных на хостинге, или phpMyAdmin, если вы создаете БД на локальном компьютере. Рассмотрим второй вариант.
Первым делом запускаем программу Denwer (виртуальный сервер). Далее переходим по адресу http://localhost/Tools/phpMyAdmin и в открывшемся окне начинаем создавать новую базу данных. Для этого заполняем поля как показано на картинке.
- Имя базы данных – прописываем английскими буквами имя нашей базы данных.
- Сравнение – указываем сравнение для нашей БД. Если кодировка сайта UTF-8 – указываем utf8_general_ci. Если же сайт работает с кодировкой CP 1251 – ставим cp1251_general_ci.
После введения всех данных сохраняем результат и создаем новую БД. В результате этого слева в меню phpMyAdmin появится еще одна база данных с нашим именем.
Создание таблиц в базе данных через phpMyAdmin. Добавление информации в БД через phpMyAdmin
Для того чтобы вручную создать таблицы в базе данных переходим в phpMyAdmin и слева в меню выбираем нашу БД. После этого ищем на странице поле «Создать новую таблицу в БД» и заполняем данные как показано на изображении.
- Имя – указываем имя таблицы базы данных.
- Поля – указываем количество полей в создаваемой таблице базы данных.
После внесения информации сохраняем результат и создаем новую таблицу. В результате этого у нас откроется окно с настройками будущих полей.
- Поле – даем имя нашим полям.
- Тип – указываем тип данных, которые будут храниться в выбранном поле. Более подробную информацию о типах данных вы можете найти в интернете, воспользовавшись поиском по запросу «Типы данных MySQL».
- Длины/Значения – указываем длину будущего поля. Например, если выбран тип VARCHAR, который может хранить до 255 знаков, то в данном поле нужно будет указать длину поля в пределах от 0 до 255 символов. В нашем случае для имени и фамилии, на мой взгляд, вполне будет достаточно 100 символов.
- Сравнение – выбираем сравнение для поля. Обычно, выбирается тип сравнения, который отвечает кодировке базы данных.
Дополнительно – можно указать дополнительные свойства. В нашем случае для поля id можно выбрать свойство auto_increment, которое отвечает за автоматическое изменение счетчика. Также для поля ставим переключатель в положение «Первичный ключ», которое говорит о том, что в данном поле значения не могут повторяться.
Остальные поля можно оставить как есть по умолчанию.
После внесения всех данных сохраняем результат и создаем новые поля. Теперь при выборе таблицы слева в меню phpMyAdmin у нас откроется вкладка «Структура» в которой мы можем просмотреть всю информацию по созданным полям.
Если вы по каким-то причинам хотите добавить еще поля в эту таблицу, то для этого выбираем нужную нам таблицу слева в меню phpMyAdmin и в открывшемся окне ищем следующие поля.
В них мы указываем, сколько полей мы хотим добавить и в какое место таблицы. По умолчанию все поля будут добавляться в конец таблицы БД.
Ручное добавления информации в базу данных через phpMyAdmin
Для того чтобы добавить информацию в базу данных через phpMyAdmin, достаточно выбрать нужную таблицу слева в меню phpMyAdmin и перейти во вкладку «Вставить». В результате этого у нас откроется страница с полями для заполнения.
В поле «Значения» вносим информацию, которую мы хотим добавить в базу данных. В нашем случае это имя и фамилия. Поле id оставляется пустым, так как данное поле заполняется автоматически (свойство auto_increment). После внесения всей необходимой информации не забываем сохранить результат.
После сохранения результата переходим во вкладку «Обзор». В результате этого у нас откроется страница, на которой будут отображаться данные, которые находятся в выбранной нами таблице базы данных. В нашем случае данные будут выглядеть следующим образом.
Итак, мы рассмотрели процесс создания базы данных и таблиц баз данных, а также научились добавлять информацию в БД через phpMyAdmin. Теперь давайте перейдем к заключительной части статьи и рассмотрим, как подключиться к созданной базе данных через php, а также рассмотрим php инструкцию INCLUDE, которая позволяет подключать к документу другие файлы.
Подключение к базе данных через PHP. Инструкция INCLUDE
Для того чтобы подключиться к базе данных через PHP нужно сделать следующее.
- Подключиться к MySQL серверу и получить специальный идентификатор.
- Выбрать базу данных с которой мы хотим работать.
Для того чтобы подключиться к серверу MySQL в PHP есть специальная функция mysql_connect(), которая имеет следующий синтаксис.
Данная функция возвращает результат, который можно поместить в какую-то переменную для дальнейшего использования.
После соединения с базой данных и получения идентификатора можем приступить к выбору базы данных для работы. Для этого используем функцию mysql_select_db(), которая имеет следующий синтаксис.
В нашем случае весь процесс соединения с сервером MySQL и выбор базы данных для работы будет выглядеть следующим образом.
После удачного соединения с базой данных мы сможем начать работать с данной БД, сохранять в нее информацию, удалять и заменять ее, а также извлекать. Более подробно о том, как это сделать вы сможете прочитать в последующих статьях рубрики «Уроки PHP и MySQL».
Вышеприведенный код очень часто используется при самостоятельном создании сайтов и для большего удобства зачастую выносится в отдельный файл, которой потом просто подключается в нужном месте документа. Для этих целей используется специальная инструкция PHP под названием INCLUDE.
Для того чтобы вынести данный код в отдельный файл, создаем новый PHP документ и копируем туда нужный нам код. Далее просто вызываем в нужном месте документа нужный нам файл с кодом. Делается это следующим образом.
В кавычках прописываем путь к подключаемому файлу. Теперь, когда обработчик PHP дойдет до этого кода, он на месте include (‘/code/config.php’); вставит содержимое файла config.php. Таким образом, можно подключать к основному файлу другие, например, подключать блоки отвечающие за шапку сайта, sidebar, footer и т.д.
На этом данная статья подошла к концу. Если вы не хотите пропустить последних обновлений сайта, рекомендую подписаться на новостную рассылку любым удобным для вас способом в пункте «Подписка» либо воспользоваться формой ниже.
На этом все. Удачи вам и успехов в освоении PHP.
Учебно-методическое пособие «Основы работы с базами данных»
методическая разработка на тему
В учебно-методическом пособии кратко излагаются вопросы теории баз данных, термины и определения. Рассматриваются базы данных от простейших, на основании таблиц Excel, до многотабличных баз Access. Основное внимание уделяется практическим вопросам создания и работы с базами данных. Все вопросы подкреплены множеством примеров конкретных баз данных.
Скачать:
Вложение | Размер |
---|---|
bd_posobie.docx | 648.81 КБ |
Предварительный просмотр:
Государственное бюджетное учреждение дополнительного профессионального педагогического образования центр повышения квалификации специалистов
«Информационно-методический центр» Пушкинского района Санкт-Петербурга
А.С. Горбенко, Е. А. Юркова
Основы работы с базами данных
Конспект практических занятий по курсу
«Компьютерные технологии в прикладных областях»
§ 1. СПИСКИ EXCEL КАК БД
База данных (БД) – структурированная информация об однородных объектах, которая хранится в виде карточек (форм) или строк таблицы.
Программа, способная обеспечить эффективное использование баз данных, называются системами управления базами данных – СУБД.
В зависимости от объема базы и сложности обработки данных (поиск, сортировка, проведение расчетов и т.д.) для ведения баз данных используются различные СУБД:
- простейшие БД могут вестись даже в текстовом редакторе. Здесь возможна только сортировка и поиск данных;
- для решения сложных задач управления БД предназначены профессиональные СУБД – Microsoft Access, Paradox, FoxPro и др;
- Microsoft Excel используется как средство управления БД малого и среднего размера, не содержащих графических элементов.
При работе в Excel с БД для обозначения таблицы БД используется термин Список . При создании списка необходимо выполнять следующие условия:
- каждый столбец должен содержать информацию одного типа (например, текст);
- одна или две верхние строки списка должны содержать заголовки столбцов;
- в списке не должно быть пустых строк и столбцов;
- список должен быть отделен от других данных рабочего листа Excel пустыми строками и столбцами.
Сортировка записей в списке:
- активизируйте ячейку внутри списка в нужном столбце;
- выполните сортировку: Вкладка Данные/ Группа Сортировка и фильтр ;
- наличие/отсутствие строки заголовка в списке задается в диалоговом окне Сортировка . Здесь же можно задать более сложное условие сортировки.
Выбор нужных записей из списка:
- активизируйте ячейку внутри списка;
- включите фильтрацию: Вкладка Данные/ Группа Сортировка и фильтр/ Кнопка Фильтр ;
- если фильтрация включена, достаточно щелкнуть по стрелке в заголовке столбца, чтобы выбрать фильтр для этого столбца.
Практическое задание 1-1
- Лист Нумизмат : создайте список на основании следующей таблицы.
- Отсортируйте список по столбцу Название монеты .
- Добавьте столбец для вычисления: Масса, карат = Масса, г *5.
- Изучите возможности фильтра при фильтрации текста и чисел.
- Постройте линейчатую диаграмму (Название монеты; Масса, г)
- Сохраните документ под именем Списки в своей папке.
Практическое задание 1-2
- Откройте документ Списки .
- Лист Планеты : создайте список на основании следующей таблицы.
- Используя фильтр, найдите общую массу планет:
- имеющих экваториальный диаметр менее 50 тыс. км;
- имеющих период обращения по орбите более 10 земных лет.
- Сохраните результаты фильтрации рядом с исходной таблицей.
Период обращения по орбите, земных лет
Масса, 10 24 , кг
§ 2. РАСШИРЕННЫЙ ФИЛЬТР
Фильтр – средство быстрого поиска необходимых данных. В отфильтрованном списке отображаются только строки списка, отвечающие условиям, заданным для столбца. Строки, отобранные при фильтрации в Microsoft Excel, можно редактировать, форматировать, создавать на их основе диаграммы, выводить их на печать.
В Microsoft Excel для более сложных условий отбора применяется расширенный фильтр . Расширенный фильтр способен сформировать новую таблицу из отфильтрованных записей.
Для создания расширенного фильтра выполните следующие действия .
- Сформируйте ТАБЛИЦУ КРИТЕРИЕВ:
- сделайте копию строки заголовков списка;
- заполните ниже строки с критериями – если несколько критериев расположены в одной строке, они считаются связанными между собой логической операцией И , в разных строках – логической операцией ИЛИ .
- Выделите ячейку внутри исходного списка.
- Выполните команду вкладка Данные / Группа Сортировка и фильтр / Кнопка Дополнительно . В появившемся окне укажите:
- обработку: скопировать результат в другое место (иначе исходный список будет утерян!);
- исходный диапазон (список для фильтрации);
- диапазон условий (таблица критериев);
- диапазон для размещения результатов фильтрации.
Практическое задание 2
- Откройте документ Списки . Создайте на листе Звери список на основании следующей таблицы.
Велико разнообразие жизни на нашей планете: микроскопические инфузории и гигантские рыбы, трудолюбивые муравьи и могучие слоны, изумительные по красоте бабочки и невзрачные черви. Особый интерес у человека всегда вызывали звери. Они наиболее близки и понятны человеку. Вот только некоторые, самые уникальные, из зверей. Из отряда приматов обращают на себя внимание обезьяны весом свыше 50 килограмм. Их еще называют человекообразными. Табл. 1. Человекообразные обезьяны (в порядке возрастания веса). Интересны хищники , среди которых есть малютки, весящие не больше килограмма, и гиганты весом свыше центнера. Табл. 2. Диапазон веса хищников (в порядке убывания веса). Самыми загадочными считаются обитатели водной среды, ластоногие . И вес у них, как правило, немалый. Табл. 3. Ластоногие (по алфавиту). § 3. ОСНОВНЫЕ ПОНЯТИЯ И МОДЕЛИ БАЗ ДАННЫХБаза данных (БД) – это структурированная информация об объектах, связанных общей темой или задачей. Структурирование данных – объединение данных по определенным параметрам. ОСНОВНЫЕ МОДЕЛИ БД 1). Иерархическая БД – совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (граф). Даная модель БД характеризуется следующими параметрами: уровень, узел, связи.
Примеры : файловая структура диска, сложное меню, БД Столицы : 2). Сетевая БД – имеет те же элементы, что и иерархическая БД: узел, уровень, связь, но другой характер их отношений. В сетевой модели принята свободная связь между элементами разных уровней. Пример : производство (выпуск изделий разными цехами): 3). Реляционная БД (реляционная модель была предложена в 1969 году математиком, научным сотрудником фирмы IBM Э.Коддом) – использует представление данных в виде таблицы (лат. relation – отношение). В простейшем случае реляционная БД представляет собой двумерную таблицу, а при создании сложных информационных моделей – совокупность взаимосвязанных таблиц. Каждая ячейка таблицы – один элемент данных. Все столбцы в таблице однородны, т.е. имеют один тип (числовой, текстовый и т.д.). Каждый столбец имеет уникальное имя. В таблице не должно быть одинаковых строк . Поле (набор полей), которое отличают одну строку от другой, называется первичным ключом . Каждая таблица должна иметь первичный ключ. Запись – строка таблицы. Поле – столбец таблицы . Первичный ключ – поле (группа полей), значение которого однозначно определяет запись в таблице. БД Поступление комплектующих СУБД – системы управления базами данных. СУБД Microsoft Access 2007 позволяет хранить все объекты БД в одном файле с расширением accdb . Создание БД начинается с создания таблицы. Таблица – основа БД: главное хранилище информации (набор однотипных записей). В новой версии Access появилась возможность создавать таблицу ( способ прямого ввода данных ), не задумываясь о формате данных, которые вы вводите в соответствующий столбец. Программа автоматически отследит вводимую информацию и предложит соответствующий тип данных и наиболее часто используемый формат представления информации Изменение формата данных можно сделать, используя вкладку Работа с таблицами / Режим Таблицы . Практическое задание 3-1Создайте БД Учебная , содержащую несколько таблиц . Таблица Записная книжка . Введите в таблицу 9 записей. Таблица Мероприятия . Введите в таблицу 8 записей. Цена на человека § 4. СОЗДАНИЕ ТАБЛИЦЫ В РЕЖИМЕ «КОНСТРУКТОР»Тип поля определяется данными, которые будут храниться в этом поле. В зависимости от типа поля изменяется и набор его свойств: текстовый – строка текста длиною до 255 символов; числовой – числовые данные (например, 89 , 0,5 ); поле МЕМО – текст более 255 символов (до 65535); дата / время – дата или время (например, 18.03.2008 , 12:55:00 ); денежный – денежный формат (например, 345,00р. ); логический – одно из значений ДА/НЕТ (ИСТИНА/ЛОЖЬ); счетчик – поле заполняется автоматически при вводе; поле объектов OLE – внешние данные: изображения, звуки и т.д.; гиперссылка – ссылка на любые внешние объекты; Основные свойства полей для текстового поля – по умолчанию — 50 символов. для числового поля размер – по умолчанию длинное целое Целое от 0 до 255 Целое от -32 768 до 320767 Целое от — 2 147 483 648 до 2 147 483 647 Одинарное с плавающей точкой Действительное (имеющее дробную часть) Двойное с плавающей точкой Действительное (имеющее дробную часть) Значение по умолчанию – значение, автоматически задаваемое в поле для новой записи. При создании поля можно использовать Мастер подстановок . С помощью Мастера сначала задается фиксированный список значений. А при заполнении таблицы значения выбираются из раскрывающегося списка. В свойствах поля, созданного с помощью Мастера, обратите внимание на свойство подстановки Ограничиться списком , которое определяет, могут ли вводиться значения, не являющиеся элементами списка (по умолчанию нет ). Создание таблицы в режиме Конструктор выберите режим Конструктор ; для каждого поля:
Практическое задание 4-1Создайте БД Мосты . Для создания таблицы используйте Конструктор . Типы данных и свойства полей выберите, исходя из содержимого полей. Практическое задание 4-2Создайте БД Страны . Для создания таблицы используйте Конструктор . § 5. ФИЛЬТРАЦИЯ – СРЕДСТВО АНАЛИЗА ДАННЫХ НА УРОВНЕ ТАБЛИЦЫФильтрация – отбор записей, удовлетворяющих заданному критерию. Если при работе с таблицей нужно ОПЕРАТИВНО сделать выборку записей в соответствии с определенными критериями, то следует использовать ФИЛЬТР. Для работы с фильтрами используем группу Сортировка и фильтр на вкладке Главная . Основные команды фильтрации: Выделение , Дополнительно – Изменить фильтр и Дополнительно – Расширенный фильтр . На бланке Фильтр добавьте поля, для которых будут заданы условия поиска и сами условия. Если условия связаны операцией И (And), располагайте их в одной строке бланка. Если условия связаны операцией ИЛИ (Or), располагайте их на разных строках бланка. При составлении условия поиска можно использовать: логические операции: And (И), Not (Нет), Or (Или); Примеры использование шаблонов в фильтрах Любое количество любых символов День, Добрый день Длинная тень Один любой текстовый символ Забор, Затор, Загар Одна любая цифра Для замещения символов из указанного набора Алексеев, Алексей, Александров Перед символами в квадратных скобках: для замещения символов кроме указанных в наборе [но не Иванова или Ивановы] Примечание: Access автоматически изменяет некоторые значения, которые вы вводите в строку Условие отбора бланка фильтра: – символ # по обе стороны от даты означает, что это не математическое выражение; – к текстовым значениям добавляется имя функции сравнения строк Like, а сам образец ставится в кавычки. Практическое задание 5На основании БД Мосты , создайте ТЕКСТОВЫЙ документ Отчет о результатах фильтрации , который содержит:
Для вставки отфильтрованного списка в документ используйте буфер обмена. Примените следующие фильтры:
§ 6. ОТБОР ЗАПИСЕЙ С ПОМОЩЬЮ ЗАПРОСА НА ВЫБОРКУЗапросы – специальные объекты, предназначенные для отбора, изменения, добавления и удаления данных. Запрос сохраняется как обычная таблица. Источник данных для запроса – исходная таблица БД или таблицы других запросов. При создании запросов можно не только выбирать информацию, но и обрабатывать ее: сортировать, объединять, разделять, выполнять вычисления. При этом никаких изменений в исходных базовых таблицах БД не происходит. Запросы можно создать с помощью Мастера запросов или Конструктора. Простой запрос на выборку В результате работы запроса формируется результирующая таблица, содержащая записи и поля, соответствующие условию отбора. Для создания запроса:
в нижней части окна заполните бланк запроса:
Для выполнения запроса – щелкните по кнопке Выполнить . Чтобы вернуться к созданию запроса – щелкните по кнопке Конструктор на вкладке Главная . Примеры условных выражений для формирования условий отбора Вывод записей, которые Саратов или Like «Саратов» имеют значение Саратов не имеют значение Саратов начинаются с буквы А содержат букву м начинаются с букв А-Л начинаются с букв М-Я имеют значение даты позднее 01.01.94 имеют значение дат месяца февраль имеют значение текущей даты имеют числовое значение =100 имеют числовое значение не равное 25 between 1 and 2 имеют числовое значение свыше 1 и менее 2 имеют числовое значение меньше или = 20 числа от 2 до 3 числа меньше 2 или большие 3 содержат в поле пустое значение имеют не пустое значение в поле состоят из трех символов состоят из трех цифр Запрос на выборку с параметром Позволяет менять условие отбора при выполнении запроса. Создается аналогично простому запросу на выборку, но в строке Условие отбора в квадратных скобках записывается вопрос, на который надо будет дать ответ при выполнении запроса. Вопрос записывается в произвольной форме. Практическое задание 6-1Создайте следующие запросы для БД Учебная .
Практическое задание 6-2Создайте следующие запросы для БД Страны .
§ 7. САМОСТОЯТЕЛЬНАЯ РАБОТА
Р:\Базы данных\ Самостоятельная работа №1
Примечание: 1 квартал 2006 года – это январь, февраль, март.
Примечание: для логического типа Условие отбора: если поле имеет вид ☑ – Да , иначе (□) – Нет .
§ 8. КОНТРОЛЬ ВВОДА ДАННЫХ1. Мастер подстановок. При необходимости ограничить набор значений, которые может содержать поле, используется Мастер подстановок. Он позволяет создать раскрывающийся список допустимых значений:
Корректировка данных, введенных с использованием Мастера подстановок , возможна на вкладке Подстановка свойств поля: строки Источник строк и Ограничиться списком . 2. Значение по умолчанию. Для поля, которое всегда или в большинстве случаев имеет одно и тоже значение, можно задать Значение по умолчанию на вкладке Общие свойств поля. 3. Условие на значение. Установить ограничения на значение вводимых данных можно, используя строку Условие на значение в свойствах поля. Например, для поля Месяц: >0 And Установить ограничения на формат вводимых данных можно с использованием Маски ввода , которая обеспечивает соответствие данных определенному формату (например: 678-76-765) и автоматически вводит постоянные символы, такие как дефис, косая черта и т.д. Чтобы задать для поля маску ввода: в окне Конструктора щелчком мыши выделите поле, для которого необходимо задать маску ввода; непосредственно введите Маску ввода на вкладке Общие или щелкните по кнопке Построения (…) и постройте маску с помощью Мастера масок ввода . В окне Настройка масок ввода можно выбрать одну из существующих масок или создать новую через кнопку Список . Примечание: Мастер масок ввода предназначен только для полей типа Текстовый и Дата/время. Маска ввода может иметь до трех частей, отделяемых друг от друга точкой с запятой (;): 0 или 1 (0 – постоянные символы-разделители сохраняются вместе с маской, 1 или отсутствие значения – не сохраняются); символ-заполнитель (стандартный символ-заполнитель – символ подчеркивание (_); при желании его можно заменить на любой другой). Спецсимволы масок ввода Ввод НЕ обязателен Цифра (от 0 до 9) 0 (+ и – не допускаются) Цифра или пробел 9 ( + и – не допускаются) Буква или цифра Любой символ или пробел Перевод всех следующих символов в нижний регистр Перевод всех следующих символов в верхний регистр Примеры масок ввода Практическое задание 8Создайте БД Квартиры , состоящую из 30 записей.
§ 9. ИТОГОВЫЕ ЗАПРОСЫ. ГРУППОВЫЕ ОПЕРАЦИИ В ЗАПРОСАХЗапросы позволяют не только выбирать записи из таблиц, но и вычислять различные статистические параметры. Итоговый запрос позволяет получить итоговые данные по группам записей с одинаковыми значениями в указанных полях. Итоговые данные вычисляются с использованием одной из статистических функций:
В запрос включают два поля:
Дополнительно можно включить еще поля для определения условий запроса (сняв с них флажок отображения поля в запросе). Результат запроса с использованием групповых операций содержит по одной записи для каждой группы. Создание итогового запроса с помощью Конструктора
Практическое задание 9-1Создайте следующие запросы для БД Страны :
Практическое задание 9-2Создайте следующие запросы для БД Квартиры :
Практическое задание 9-3Создайте следующие запросы для БД Мосты :
§ 10. ЗАПРОСЫ С ВЫЧИСЛЕНИЯМИВ таблицах БД невозможно использовать формулы для вычислений. Вычисления проводятся только с помощью запросов . Для проведения вычислений необходимо создать в запросе на выборку специальное поле, которое будет заполняться значениями, полученными в результате вычислений по введенной формуле. Создание вычисляемого поля:
Итого : [Заказано]![Цена]* [Заказано]![Количество] 1. При работе с Построителем выражений автоматически появляется текст «Выражение». Этот текст нужно удалить! 2. Комбинация клавиш [ Shift ]+[ F2 ] позволят увидеть вычисляемое поле целиком в отдельном окне. Окно построителя имеет четыре области со своими полосами прокрутки. В верхней области располагается создаваемое выражение. Три нижние используются для выбора элементов выражения. Левая область содержит список всех источников данных для запроса. Ими могут быть объекты БД: таблицы, запросы, формы и т.д. Кроме того, в левый список включены папки, содержащие функции, константы и операторы, которые могут быть использованы в выражении. Средняя область служит для отображения элементов, входящих в выбранный объект из левой области. Правая область служит для выбора самых примитивных объектов. Для того, чтобы перенести имя объекта в выражение, щелкните два раза мышью имя объекта в одной из нижних областей. Текст выражения можно редактировать в верхней области обычным образом. Кнопки с изображенными на них знаками математических операций позволяют быстро вводить соответствующие символы в выражение. Дополнительно выполнить во всех заданиях: В вычисляемых полях установите в свойствах поля (контекстное меню) фиксированный формат данных с 2-мя десятичными знаками. Практическое задание 10-1Для БД Мосты создайте запрос Ярды (поля: название, длина; добавьте поле Длина пролета в ярдах (1 ярд = 0,9144 м)). Практическое задание 10-2Для БД Страны создайте запрос Плотность (все поля; добавьте поле Плотность населения на квадратный километр ). Практическое задание 10-3Для БД Квартиры создайте запросы:
Коэффициент К 2 определяется с использованием математической функции округления Round («number»; «precision»), где «number» – выражение, которое округляется; «precision» – точность (количество знаков после запятой). § 11. Самостоятельная работаПрактическое задание 11Создайте базу данных «Туристическое агентство». Страна (одна из четырех). Стоимость 1 дня. №1 Количество туров по странам, которые есть в наличии. №2 Цена туров (поля: страна, отель, количество дней, цена). Цена определяется как стоимость перелета + стоимость проживания (зависит от числа дней) + 15% от полученной суммы перечисление агентству. Сортировка по странам. § 12. ФОРМЫФорма – это объект базы данных, который можно использовать для ввода, изменения или отображения данных из таблицы или запроса. Формы можно рассматривать как окна, через которые пользователи могут просматривать и изменять базу данных. Рационально построенная форма ускоряет работу с базой данных, поскольку пользователям не требуется искать то, что им нужно. Внешне привлекательная форма делает работу с базой данных более приятной и эффективной . Например, некоторым пользователям достаточно видеть лишь несколько полей большой таблицы. Если предоставить им форму, содержащую только нужные им поля, это облегчит для них использование базы данных. В области переходов выберите таблицу или запрос с данными, которые должны отображаться в форме. На вкладке Создание в группе Формы выберите нужную команду- кнопку :
Режимы создания формы Режим макета. В режиме макета можно внести изменения в структуру формы при одновременном отображении данных. Поскольку в режиме макета форма фактически выполняется, то очень удобно задавать размеры элементов формы и выполнять другие задачи, связанные с внешним видом и удобством формы. Режим конструктора. В этом режиме форма не выполняется. Однако этот режим позволяет более подробно просмотреть структуру формы. В режиме конструктора удобнее добавлять в форму различные элементы (надписи, рисунки, линии, прямоугольники), изменять размеры разделов формы, изменять свойства формы и др. Практическое задание 12-1
Практическое задание 12-2Используя Мастер форм, создайте форму для БД Квартиры в соответствии с образцом. Практическое задание 12-3Для БД Туристическое агентство:
§ 13. САМОСТОЯТЕЛЬНАЯ РАБОТА. ЧАСТЬ 11. Создайте БД Винчестеры со следующими полями: Тип и свойства полей БД текстовый (по умолчанию Seagate) число целое (по умолчанию 12) текстовый (РИК, Авантек, Африка – мастер подстановок) 2. Создайте форму для ввода информации: 3. Заполните таблицу данными: 4. Создайте запрос с параметром о винчестерах заданного объема (в запросе отобразите все поля). Название запроса – Винчестеры заданного объема . 5. Создайте итоговый запрос о количестве имеющихся винчестеров различных моделей. Название запроса – Количество винчестеров . 6. Создайте запрос с вычисляемым полем К (в запросе отобразите поля: объем, производитель и модель и только винчестеры, имеющие гарантию 12 месяцев): К = Объем* (Кэш-4)/ Цена Установите для коэффициента К фиксированный формат с 2-мя десятичными знаками. Название запроса – Параметрический коэффициент . § 14. САМОСТОЯТЕЛЬНАЯ РАБОТА. ЧАСТЬ 21. Создайте БД Сервизы со следующими полями: Тип и свойства полей БД (см. данные для заполнения таблицы) по умолчанию: стекло 2. Создайте форму (в столбец) для ввода данных. Рисунок можно взять из файла Сервиз.jpg 3. Заполните таблицу данными: 4. Создайте запрос с параметром о сервизах заданной комплектации (в запросе отобразите все поля). Название запроса – Сервизы заданной комплектации . 5. Создайте итоговый запрос о средней стоимости сервизов различного типа. Название запроса – Средняя стоимость . 6. Создайте запрос с параметром о сервизах, имеющихся в наличии (в запросе отобразите поля: Название, Тип и Стоимость ). Проведите сортировку по полю Стоимость . Параметр – материал. Название запроса – Сервизы в наличии . 7. Создайте запрос с вычисляемым полем К (в запросе отобразите поля: Тип , Производитель и Материал и только сервизы, имеющиеся в наличии): К = Стоимость / Комплектация Установите для коэффициента К фиксированный формат с 3-мя десятичными знаками. Название запроса – Параметрический коэффициент . § 15. ОтчетыОтчеты – объекты для вывода информации на печать. Отчет позволяет наглядно отобразить данные таблиц и запросов. Для работы с отчетом имеются режимы: Представление отчета , Предварительный просмотр , Режим макета и Конструктор . Основные разделы отчета Заголовок отчета – элементы, размещенные в этом разделе, видны только в начале отчета. Верхний колонтитул – элементы, размещенные в этом разделе, видны в начале каждой страницы. Область данных – размещены данные отчета. Нижний колонтитул – элементы, размещенные в этом разделе, видны в конце каждой страницы. Примечание отчета – элементы, размещенные в этом разделе, оказываются в конце отчета, но перед элементами нижнего колонтитула. 1. Команда Отчет — самый быстрый способ создания отчета: отчет формируется на основе текущей таблицы или запроса сразу же, без дополнительных вопросов. В сформированном отчете представлены все записи базовой таблицы или запроса. Готовый отчет можно изменить в Режиме макета или Конструктора в соответствии с поставленной задачей.
2. Мастер отчетов предоставляет больше возможностей относительно выбора полей для включения в отчет. При этом можно указать способ группировки и сортировки данных, а также включить в отчет поля из нескольких таблиц или запросов.
Доработка отчета в Режиме макета Созданный отчет легко доработать в Режиме макета . Ориентируясь на фактические данные отчета, можно отрегулировать ширину столбцов, изменить их порядок, добавить уровни группировки и итоговые значения. Можно добавить в отчет новые поля, а также изменить свойства отчета и входящих в него элементов управления. При работе с отчетом в режиме макета доступны кнопки вкладок Работа с макетами отчетов \Формат, Упорядочить и Параметры страницы . Доработка отчета в режиме Конструктора Доработать отчет можно также в режиме Конструктора . Новые элементы управления и поля добавляются в отчет путем их размещения их в сетку Конструктора . При работе с отчетом в режиме Конструктора доступны кнопки вкладок Инструменты конструктора отчетов \Конструктор, Упорядочить и Параметры страницы . Практическое задание 15-1Создайте отчеты для БД Винчестеры на основании таблицы данных. Измените стандартный дизайн.
Практическое задание 15-2Создайте отчеты для БД Винчестеры на основании запросов. Измените стандартный дизайн.
Практическое задание 15-3Создайте отчеты для БД Сервизы на основании таблицы данных. Измените стандартный дизайн.
Практическое задание 15-4Создайте отчеты для БД Сервизы на основании запросов. Измените стандартный дизайн.
§ 16. СВЯЗЫВАНИЕ ТАБЛИЦ
Одно или несколько полей таблицы БД могут быть ключевыми (однозначно идентифицирующими каждую запись в таблице). Если рассматривается БД, состоящая из одной таблицы, введение ключевого поля не является обязательным. Для связи таблиц между собой в таблице обязательно определяется одно (или несколько) ключевых полей. Ключевое поле может быть определено пользователем, а может быть введено программой автоматически. В зависимости от структуры данных в таблице связи могут быть:
Типы первичного и вторичного ключа должны быть одинаковыми . Если в качестве первичного ключа выбирается поле типа счетчик (при создании новых записей в это поле автоматически записываются уникальное числовое значение) , то тип вторичного ключа должен быть – числовой (обязательное свойство этого поля – длинное целое ). Установка ключевого поля (первичного) в режиме Конструктор установите курсор на поле будущего первичного ключа; щелкните по кнопке Ключевое поле на Панели инструментов Конструктор таблиц или воспользуйтесь контекстным меню. Установка связи между таблицами Связь между таблицами можно установить вручную через Схему данных или воспользоваться Мастером подстановок :
Практическое задание 13Создайте БД Библиотека , состоящую из двух связанных таблиц:
Заполните таблицы: 5 любых авторов и не менее трех книг для каждого автора. Фотографии можно взять в папке Портреты . Примечание: Для размещения фотографии в поле типа Вложение:
Фотография будет видна только в объектах Форма и Отчет . § 17. СОЗДАНИЕ ФОРМ, ЗАПРОСОВ И ОТЧЕТОВ НА БАЗЕ НЕСКОЛЬКИХ ТАБЛИЦ
Практическое задание 17-1Создайте ФОРМЫ для БД Библиотека.
Практическое задание 17-2Создайте ОТЧЕТЫ для БД Библиотека .
§ 18. САМОСТОЯТЕЛЬНАЯ РАБОТА. БД АВТОПРЕДПРИЯТИЕГЛАВА 11. PHP и базы данныхСредства эффективного хранения и выборки больших объемов информации внесли огромный вклад в успешное развитие Интернета. Обычно для хранения информации используются базы данных. Работа таких известных сайтов, как Yahoo, Amazon и Ebay, в значительной степени зависит от надежности баз данных, хранящих громадные объемы информации. Конечно, поддержка баз данных ориентирована не только на интересы гигантских корпораций — в распоряжении web-программистов имеется несколько мощных реализаций баз данных, распространяемых по относительно низкой цене (а то и бесплатно). Правильная организация базы данных обеспечивает более быстрые и гибкие возможности выборки данных. Она существенно упрощает реализацию средств поиска и сортировки, а проблемы прав доступа к информации решаются при помощи средств контроля за привилегиями, присутствующими во многих системах управления базами данных (СУБД). Кроме того, упрощаются процессы репликации и архивации данных. Глава начинается с подробного описания выборки и обновления данных в MySQL — вероятно, самой популярной СУБД, используемой в PHP ( http://www.mysql.com ). На примере MySQL будет показано, как в PHP происходят загрузка и обновление данных в базе; мы рассмотрим базовые средства поиска и сортировки, используемые во многих web-приложениях. Затем мы перейдем к реализованной в PHP поддержке ODBC (Open Data Base Connectivity) — обобщенного интерфейса, который может использоваться для одновременного соединения с разными СУБД. Поддержка ODBC в PHP будет продемонстрирована на примере соединения и выборки данных из базы данных Microsoft Access. Глава завершается проектом, в котором PHP и СУБД MySQL используются для создания иерархического каталога с информацией об избранных сайтах. При включении в каталог новых сайтов пользователь относит их к одной из стандартных категорий, определяемых администратором сайта. Прежде чем переходить к обсуждению MySQL, я хочу сказать несколько слов об SQL — самом распространенном языке для работы с базами данных. Язык SQL заложен в основу практически всех существующих СУБД. Чтобы перейти к рассмотрению примеров работы с базами данных, необходимо хотя бы в общих чертах представлять, как работает SQL. Что такое SQL?SQL обычно описывается как стандартный язык, используемый для взаимодействия с реляционными базами данных (см. ниже). Однако SQL не является языком программирования, как С, C++ или PHP. Скорее, это интерфейсное средство для выполнения различных операций с базами данных, предоставляющее в распоряжение пользователя стандартный набор команд. Возможности SQL не ограничиваются выборкой данных из базы. В SQL поддерживаются разнообразные возможности для взаимодействия с базой данных, в том числе:
Обратите внимание: в определении SQL было сказано, что этот язык предназначен для работы с реляционными базами данных. В реляционных СУБД данные организуются в виде набора взаимосвязанных таблиц. Связи между таблицами реализуются в виде ссылок на данные других таблиц. Таблицу можно представить себе как двухмерный массив, в котором расположение каждого элемента характеризуется определенными значениями строки и столбца. Пример реляционной базы данных изображен на рис. 11.1. Рис. 11.1. Пример реляционной базы данных Как видно из рис. 11.1, каждая таблица состоит из строк (записей) и столбцов (полей). Каждому полю присваивается уникальное (в рамках данной таблицы) имя. Обратите внимание на связь между таблицами customer и orders, обозначенную стрелкой. В информацию о заказе включается короткий идентификатор клиента, что позволяет избежать избыточного хранения имени и прочих реквизитов клиента. В изображенной базе данных существует еще одна связь — между таблицами orders и products. Эта связь устанавливается по полю prod_id, в котором хранится идентификатор товара, заказанного данным клиентом (определяемого полем custjd). Наличие этих связей позволяет легко ссылаться на полные данные клиента и товара по простым идентификаторам. Правильно организованная база данных превращается в мощное средство организации и эффективного хранения данных с минимальной избыточностью. Запомните эту базу данных, я буду часто ссылаться на нее в дальнейших примерах. Итак, как же выполняются операции с реляционными базами данных? Для этого в SQL существует специальный набор общих команд — таких, как SELECT, INSERT, UPDATE и DELETE. Например, если вам потребуется получить адрес электронной почты клиента с идентификатором 2001cu (см. рис. 11.1), достаточно выполнить следующую команду SQL: SELECT cust_email FROM customers WHERE custjd = ‘2001cu’ Все вполне логично, не правда ли? В обобщенном виде команда выглядит так: SELECT имя_поля FROM имя_таблицы [ WHERE условие ] Квадратные скобки означают, что завершающая часть команды является необязательной. Например, для получения адресов электронной почты всех клиентов из таблицы customers достаточно выполнить следующий запрос: SELECT cust_email FROM customers Предположим, вы хотите включить в таблицу products новую запись. Простейшая команда вставки выглядит так: INSERT into products VALUES (‘1009pr’, ‘Red Tomatoes’, ‘1.43’); Если позднее эти данные потребуется удалить, воспользуйтесь следующей командой: DELETE FROM products WHERE prod_ > Существует много разновидностей команд SQL, и полное их описание выходит за рамки этой книги. На эту тему вполне можно написать отдельную книгу! Я постарался сделать так, чтобы команды SQL, используемые в примерах, были относительно простыми, но достаточно реальными. В Web существует много учебной информации и ресурсов, посвященных SQL. Некоторые ссылки приведены в конце этого раздела. Записывать команды SQL символами верхнего регистра необязательно. Впрочем, я предпочитаю именно такую запись, поскольку она помогает различать компоненты запроса. Раз вы читаете эту книгу, вероятно, вас интересует вопрос, как же организуется работа с базами данных в среде Web? Как правило, сначала при помощи какого- либо интерфейсного языка (PHP, Java или Perl) создается соединение с базой данных, после чего программа обращается к базе с запросами, используя стандартный набор средств. Интерфейсный язык можно рассматривать как своего рода «клей», связывающий базу данных с Web. Я перехожу к своему любимому интерфейсному языку — PHP. Ниже перечислены некоторые ресурсы Интернета, посвященные SQL. Они пригодятся как новичкам, так и опытным программистам. Поддержка баз данных в PHPЕсли бы мне предложили назвать самый важный аспект PHP, вероятно, я бы остановился на поддержке баз данных. В PHP реализована обширная поддержка практически всех существующих серверов баз данных, в том числе: | PostgreSQL | |||||||||
Product ID | Product Name | Product Price | 1000pr | apples | 1001pr | oranges | 1002pr | bananas | 1003pr | pears |
---|---|---|---|---|---|---|---|---|---|---|
0rder ID | Product ID | Quantity | ||||||||
$order_id | $prod_id | $quantity |
«;
Если ввести ключевое слово Mi 1 апо и выбрать в раскрывающемся списке категорию Customer Name (Имя клиента), программа выводит следующую информацию:
Order Id | Product Id | Quantity |
100003 | 1000pr | 12 |
100005 | 1002pr | 11 |
Конечно, мы рассмотрели простейшую реализацию поисковой системы. Существует немало дополнительных возможностей — поиск по нескольким ключевым словам, поиск по неполным ключевым словам или автоматическая выборка записей с похожими ключевыми словами. Попробуйте применить свою творческую фантазию и реализовать их самостоятельно.
Сортировка таблиц
При выводе данных из базы необходимо предусмотреть возможность их сортировки по различным критериям. В качестве примера рассмотрим результаты, выведенные нашей поисковой системой, — обратим особое внимание на следующие после заголовка Order History: (История заказов). Допустим, список получился очень длинным, и вы хотите отсортировать данные по идентификатору товара (или идентификатору заказа). Чтобы вы лучше поняли, о чем идет речь, рекомендую посетить один из моих любимых сайтов, http://download.cnet.com. Если в процессе просмотра программ конкретной категории щелкнуть на заголовке столбца (название, дата размещения, количество загрузок или размер файла), то список автоматически упорядочивается по содержимому указанного столбца. Далее показано, как реализовать подобную возможность.
В листинге 11.6 мы производим выборку данных из таблицы orders. По умолчанию данные сортируются по убыванию объема заказа (поле quantity). Однако щелчок на любом заголовке таблицы приводит к тому, что страница загружается заново с упорядочением таблицы по указанному столбцу.
Листинг 11.6. Сортировка таблиц (tablesorter.php)
// Создать заголовок таблицы
// Отформатировать и вывести каждую строку таблицы
while (list($order_id,$cust_id,$prod_id, $quantity)
print »
print »
$quantity
«;
print «
«;
print «
«;
Для базы данных company, изображенной на рис. 11.1, стандартные выходные данные листинга 11.6 выглядят следующим образом:
Order ID | Customer ID | Product ID | Quantity |
2000cu | 1000pr | 12 | |
2000cu | 1002pr | 11 | |
2000cu | 1000pr | 9 | |
2000cu | 1001pr | 5 | |
2000cu | 1002pr | 3 |
Обратите внимание: заголовки таблицы представляют собой гиперссылки. Поскольку по умолчанию сортировка осуществляется по полю quantity, записи отсортированы по убыванию последнего столбца. Если щелкнуть на ссылке Order_ID, страница загружается заново, но на этот раз записи сортируются по убыванию идентификатора заказа. Таблица будет выглядеть так:
Order ID | Customer ID | Product ID | Quantity |
2000cu | 1002pr | 11 | |
2000cu | 1000pr | 9 | |
2000cu | 1000pr | 12 | |
2000cu | 1001pr | 5 | |
2000cu | 1002pr | 3 |
Сортировка выходных данных приносит огромную пользу при форматировании баз данных. Простая модификация запроса SELECT позволяет упорядочить данные по любому критерию — по возрастанию, по убыванию или с группировкой записей.
На этом наше знакомство с MySQL подходит к концу. Учтите, что материал этой главы отнюдь не исчерпывает всего, что необходимо знать о MySQL. Полный список команд MySQL в PHP приведен в документации ( http://www.php.net/manuat ).
Специализированные функции хорошо подходят для работы с одним конкретным типом СУБД. Но что делать, если вам приходится подключаться к MySQL, Microsoft SQL Server и IBM DB2, притом в одном приложении? Аналогичная проблема возникает при разработке приложений, которые не должны зависеть от СУБД; такие приложения работают «над» существующей инфраструктурой клиентской базы данных. ODBC (сокращение от «Open Database Connectivity», то есть «открытая архитектура баз данных») представляет собой интерфейс прикладных программ (API), позволяющий использовать общий набор абстрактных функций для работы с разными типами баз данных. Преимущества подобного подхода очевидны — вам не придется многократно переписывать один и тот же фрагмент кода только для того, чтобы выполнять одинаковые операции с разнотипными базами данных.
Работа с сервером баз данных через ODBC возможна лишь в том случае, если этот сервер является ODBC-совместимым. Другими словами, для него должны существовать драйверы ODBC. За дополнительной информацией о драйверах ODBC обращайтесь к документации СУБД. Возможно, вам придется дополнительно загрузить их из Интернета и установить на своем компьютере. Хотя стандарт ODBC, разработанный компанией Microsoft, стал открытым стандартом, он в основном используется для работы с СУБД на платформе Windows; впрочем, драйверы ODBC также существуют и на платформе Linux. Ниже приведены ссылки на драйверы для некоторых популярных СУБД.
Драйверы ODBC различаются по целям, платформе и назначению. За информацией о различных аспектах работы с этими драйверами обращайтесь к документации по конкретным пакетам. Впрочем, невзирая на все различия, использование этих драйверов в PHP обходится без проблем.
Когда вы определите, какой комплект драйверов ODBC лучше подходит для ваших целей, загрузите его и выполните все инструкции по установке и настройке. После этого можно переходить к следующему разделу — «Поддержка ODBC в PHP».
Поддержка ODBC в PHP
Функции ODBC в PHP, обычно называемые общими функциями ODBC, не только обеспечивают типовую поддержку ODBC, но и позволяют работать с некоторыми СУБД, обладающими собственным API, через стандартный ODBC API. К числу последних относятся следующие СУБД:
Обратите внимание: при работе с перечисленными СУБД стандартный механизм ODBC на самом деле не используется. Просто поддерживаемые в PHP общие функции ODBC применяются для взаимодействия с базами данных. Это удобно, поскольку при переходе на другую ODBC-совместимую СУБД (или СУБД из приведенного выше списка) все ваши сценарии будут нормально работать.
Поддержка ODBC встроена в комплект поставки PHP, поэтому вам за редкими исключе-ниями практически не придется заниматься специальной настройкой.
В настоящее время существует около 40 общих функций ODBC. Впрочем, для выборки информации из ODBC-совместимой базы данных вполне достаточно нескольких функций, описанных ниже. Полный список общих функций ODBC в PHP приведен в документации (http://www.php.net/manual).
Перед тем как обращаться к ODBC-совместимой базе данных с запросами, необходимо сначала установить с ней связь. Соединение создается функцией ocbc_connect( ). Синтаксис функции odbc_connect( ):
int odbc_connect (string источник_данных, string имя_пользователя, string пароль [, int тип_курсора])
Параметр источник_данных определяет ODBC-совместимую базу данных, с которой вы пытаетесь установить связь. В параметрах имя_пользователя и пароль, как нетрудно догадаться, передаются имя пользователя и пароль, необходимые для подключения к источнику данных. Необязательный параметр тип_курсора предназначе’н для устранения проблем, возникающих при работе с некоторыми драйверами ODBC. Он может принимать одно из четырех возможных значений:
- SQL_CUR_USE_IF_NEEDED;
- SQL_CURSOR_USE_ODBC;
- SQL_CUR_USE_DRIVER;
- SQL CUR DEFAULT.
Возможно, вам не придется использовать этот параметр, но все же о нем следует помнить на случай, если ваш пакет ODBC не справится с обработкой того или иного запроса.
Использовать odbc_connect( ) в программе несложно. Пример:
Функция используется для открытия восстанавливаемых (persistent) соединений с базами данных. Она экономит системные ресурсы, поскольку odbc_pconnect( ) проверяет, не было ли данное соединение открыто ранее, и если было, использует предыдущее соединение.
После завершения работы с ODBC-совместимой базой данных соединение необходимо закрыть, чтобы освободить все ресурсы, используемые открытым соединением. Соединение закрывается функцией odbc_close( ):
void odbc_close ([int идентификатор_соединения])
В параметре идентификатор_соединения передается идентификатор открытого соединения. Рассмотрим небольшой пример:
Перед непосредственной обработкой запрос необходимо «подготовить». Задача решается функцией odbc_prepare( ):
int odbc_prepare (int идентификатор_соединения , string запрос)
В параметре идентификатор_соединения передается идентификатор соединения, возвращаемый функцией odbc_connect( ). В параметре запрос передается текст запроса, который должен быть выполнен сервером. Если запрос не может быть выполнен, функция возвращает FALSE; в противном случае возвращается идентификатор результата, в дальнейшем используемый при вызове функции odbc_execute( ) (см. ниже).
Запрос, подготовленный функцией odbc_prepare( ), выполняется функцией odbc_execute( ). Синтаксис функции odbc_execute( ):
int odbc_execute (int идентификатор результата [, array параметры])
В параметре идентификатор_результата передается идентификатор результата, возвращаемый при успешном вызове odbc_prepare( ). Необязательный параметр передается лишь в том случае, если при вызове функции передаются дополнительные данные.
Рассмотрим следующий пример:
В приведенном примере продемонстрирована транзакция ODBC, при которой данные запроса не отображаются в браузере (как это обычно делается при использовании команды SELECT). Транзакция ODBC с использованием запроса QUERY описана ниже, в разделе «odbc_result_all( )».
Функция odbc_exec( ) объединяет odbc_prepare( ) и odbc_execute( ). Синтаксис функции odbc_exec( ):
int odbc_exec (int идентификатор_соединения , string запрос)
В параметре идентификатор_соединения передается идентификатор соединения, возвращаемый функцией odbc_connect( ). В параметре запрос передается текст запроса, который должен быть выполнен сервером. Если запрос не может быть выполнен, функция возвращает FALSE; в противном случае возвращается идентификатор результата, используемый при последующих вызовах функций:
В этом примере функция odbc_exec( ) пытается выполнить запрос, текст которого содержится в переменной $query. При успешном выполнении переменной $result присваивается идентификатор результата; в случае неудачи ей присваивается значение FALSE и выводится сообщение, передаваемое при вызове die( ).
Очень удобная функция odbc_result_all( ) форматирует и отображает все записи для идентификатора результата, полученного при вызове odbc_exec( ) или odbc_execute( ). Синтаксис функции odbc_result_all( ):
int odbc_result_all (int идентификатор_результата [, string формат_таблицы])
В параметре идентификатор_результата передается идентификатор результата, возвращаемый при успешном вызове odbc_exec( ) или odbc_execute( ). В необязательном параметре формат_таблицы передаются характеристики таблицы HTML. Рассмотрим следующий пример:
В результате выполнения этого примера содержимое таблицы customers будет выведено в таблице на светло-сером фоне с рамкой толщиной 1. Внешний вид таблицы для данных, приведенных на рис. 11.1, изображен на рис. 11.2.
Рис. 11.2. Данные ODBC в браузере
Хороший стиль программирования требует освобождения всех ресурсов, связанных с завершенными операциями. При работе с запросами ODBC эта задача решается функцией odbc_free_result( ). Синтаксис функции odbc_free_result( ):
int odbc_free_result (int идентификатор_результата)
В параметре функции передается идентификатор результата, который больше не будет использоваться в программе. Следует помнить, что все ресурсы памяти автоматически освобождаются по завершении сценария; таким образом, вызов функции odbc_free_result( ) необходим лишь для очень больших запросов, расходующих очень большие объемы памяти. Ниже приведен пример, демонстрирующий применение odbc_free_result( ). Помните, что без этой функции обычно можно обойтись, если только вы не собираетесь выполнять несколько запросов в одном сценарии, поскольку с завершением сценария вся память будет автоматически освобождена.
После того как функция odbc_result_all( ) завершила использование идентификатора результата, память возвращается в систему при помощи odbc_free_result( ).
На этом завершается наше знакомство с функциями ODBC в PHP, незаменимыми при создании простых интерфейсов на базе ODBC для доступа через Web. В следующем разделе многие из этих функций будут использованы для демонстрации того, как легко на базе PHP организуется взаимодействие с одной из самых популярных СУБД — Microsoft Access.
Microsoft Access и PHP
Популярность СУБД Microsoft Access ( http://www.microsoft.com/office/access ) отчасти объясняется ее удобным графическим интерфейсом. Помимо использования Access в качестве самостоятельной СУБД, вы можете использовать ее графический интерфейс для организации работы с другими базами данных — например, MySQL или Microsoft SQL Server.
Чтобы продемонстрировать поддержку ODBC в PHP, я опишу процесс подключения к базам данных Microsoft Access на PHP. Делается это на удивление просто, но благодаря популярности Microsoft Access это станет полезным дополнением в вашем творческом арсенале. Я опишу этот процесс шаг за шагом:
- Создайте базу данных Access. Предполагается, что вы уже умеете это делать, а если не умеете, но все равно хотите проследить за выполнением этого примера, — воспользуйтесь услугами программы-мастера. Я создал стандартную базу данных для хранения контактных данных при помощи мастера. Обязательно создайте в таблице несколько записей и запомните имя таблицы, оно нам вскоре понадобится!
- Сохраните базу данных на своем компьютере.
- На следующем шаге мы организуем доступ к базе Access средствами ODBC. Выполните команду Пуск > Настройка > Панельуправления (Start > Settings > Control Panel). Найдите на панели управления значок Источники данных ODBC (32) (ODBC Data Sources (32 bit)). При помощи этого значка запускается Администратор ODBC, предназначенный для настройки различных драйверов и источников данных в вашей системе. Запустите программу, дважды щелкнув на этом значке. Окно Администратора по умолчанию открывается на вкладке Пользовательский DSN (User DSN). На этой вкладке перечисляются источники данных-, которые относятся к конкретному пользователю и могут использоваться только на этом компьютере. В данном примере будет использоваться именно такой источник данных.
- Нажмите кнопку Добавить. (Add. ) в правой части окна. Открывается новое окно для выбора драйвера, предназначенного для работы с новым источником. Выберите строку Microsoft Access Driver (*.mdb) и нажмите кнопку Finish (Готово).
- На экране появляется новое окно Установка драйвера ODBC для Microsoft Access (ODBC Microsoft Access Setup). Найдите в форме текстовое поле Имя источника данных (Data Source Name) и введите в нем имя созданной вами базы данных Access. При желании можете ввести описание в текстовом поле, расположенном непосредственно под полем Имя источника данных.
- Нажмите кнопку Выбрать. (Select. ) — появляется окно в стиле Проводника Windows. В нем вам предлагается найти базу данных, доступ к которой будет осуществляться средствами ODBC.
- Найдите в дереве каталогов свою базу данных и дважды щелкните на ней. Вы снова возвращаетесь к окну Установка драйвера ODBC для Microsoft Access. Путь к выбранной базе данных отображается над кнопкой Выбрать. Нажмите кнопку ОК.
- Готово! Теперь вы можете работать с базой данных Access средствами ODBC.
Все, что вам остается сделать — создать сценарий, в котором вы будете работать с базой данных через ODBC. В приведенном ниже сценарии общие функции ODBC (см. выше) будут использоваться для вывода всей информации из таблицы контактов, созданной при помощи мастера Access. Однако перед рассмотрением сценария желательно знать, как таблица Contacts выглядит в Access (рис. 11.3).
Рис. 11.3. Таблица Contacts в MS Access
Теперь вы знаете, какая информация будет извлекаться из базы данных, и мы можем перейти к сценарию. Если вы забыли, что делает та или иная функция, обращайтесь к описанию в начале этой главы. Результаты работы листинга 11.7 представлены на рис. 11.4.
Листинг 11.7. Применение функций ODBC для работы с MS Access
Не правда ли, все просто? А самое замечательное — то, что этот сценарий полностью совместим с любой другой СУБД с поддержкой ODBC. Для тренировки попробуйте повторить все описанные действия для другой СУБД, запустите сценарий — и вы получите те же результаты, которые изображены на рис. 11.4.
Рис. 11.4. Содержимое таблицы Contacts в web-браузере
Проект: Каталог ссылок на PHP
Самый простой способ наполнить ваш сайт реальным содержанием — дать пользователю возможность сделать это за вас. Конечно, для ввода данных удобнее всего воспользоваться формой HTML.
Введенную пользователем информацию необходимо обработать и сохранить. В проекте предыдущей главы было показано, как легко эта задача решается при помощи PHP и текстового файла. Бесспорно, текстовые файлы хорошо подходят для хранения относительно маленьких и простых фрагментов данных, но в полноценных web-приложениях информация обычно хранится в базах данных. В настоящем примере база данных MySQL используется для хранения информации о web-сайтах. Для упрощения навигации сайты разделены на несколько категорий. Пользователь может ввести информацию о сайте в форме HTML и отнести его к одной из стандартных категорий, определенных администратором сайта. Кроме того, пользователь может загрузить индексную страницу и просмотреть список всех сайтов той или иной категории, щелкнув на ее названии.
Прежде всего вы должны решить, какие сведения о сайтах будут храниться в базе данных SQL. Для простоты я ограничусь следующим набором атрибутов: название, URL, категория, дата включения и описание. Таким образом, определение таблицы в MySQL выглядит примерно так:
mysql>create table bookmarks ( category INT, site_name char(35), url char(50),
date_added date, description char(254) );
В определении таблицы bookmarks имеется пара моментов, заслуживающих внимания. Во-первых, информация о категории сайта почему-то хранится в виде целого числа — но разве не правильнее было бы сделать названия категорий более содержательными и понятными для пользователя? Не беспокойтесь, в ини-циализационном файле будет создан массив, связывающий целочисленные индексы с названиями категорий. В будущем администратор может изменять и даже удалять отдельные категории. Хранение информации о категориях заметно упрощает эту задачу. Кроме того, целочисленное поле обеспечивает экономию места на диске, поскольку название категории многократно сохраняется в таблице. Другое обстоятельство, относящееся к структуре таблицы, — ограничение длины описания 254 символами. В зависимости от этого объема описаний вместо типа char( ) можно воспользоваться типом medium или text. За дополнительной информацией о типах полей обращайтесь к документации MySQL.
Следующим шагом в работе над этим приложением будет создание инициализа-ционного файла. Помимо глобальных переменных, в инициализационном файле определяются две функции: add_bookmark( ) и view_bookmark( ). Функция add_bookmark( ) получает пользовательский ввод из формы и включает его в базу. Функция view_bookmark( ) получает индекс категории, читает из базы данных все записи, относящиеся к указанной категории, и отображает их в браузере. Инициализацион-ный файл приложения init.inc с комментариями приведен в листинге 11.8.
Листинг 11.8. Инициализационный файл каталога ссылок (init.inc)
while ($row = mysql_fetch_array($result)) ;
Основные понятия о базах данных и СУБД
Представление об организации баз данных и системах управления базами данных.
План:
1. Основные понятия о базах данных.
2. СУБД Microsoft Access.
Основные понятия о базах данных и СУБД
Информационная система (ИС) – это система, построенная на базе компьютерной техники, предназначенная для хранения, поиска, обработки и передачи значительных объемов информации, имеющая определенную практическую сферу применения.
База данных – это ИС, которая хранится в электронном виде.
База данных (БД) – организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ, постоянного обновления и использования.
БД служат для хранения и поиска большого объёма информации. Примеры баз данных: записная книжка, словари, справочники, энциклопедии и т.д.
Классификация баз данных:
1. По характеру хранимой информации :
— Фактографические – содержат краткие сведения об описываемых объектах, представленных в строго определённом формате (картотеки, н-р: БД книжного фонда библиотеки, БД кадрового состава учреждения),
— Документальные – содержат документы (информацию) самого разного типа: текстового, графического, звукового, мультимедийного (архивы, н-р: справочники, словари, БД законодательных актов в области уголовного права и др.)
2. По способу хранения данных :
— Централизованные (хранятся на одном компьютере),
— Распределенные (используются в локальных и глобальных компьютерных сетях).
3. По структуре организации данных :
Термин «реляционный» (от лат. relatio – отношение) указывает на то, что такая модель хранения данных построена на взаимоотношении составляющих её частей. Реляционная база данных, по сути, представляет собой двумерную таблицу. Каждая строка такой таблицы называется записью. Столбцы таблицы называются полями: каждое поле характеризуется своим именем и типом данных. Поле БД – это столбец таблицы, содержащий значения определенного свойства.
Свойства реляционной модели данных:
— каждый элемент таблицы – один элемент данных;
— все поля таблицы являются однородными, т.е. имеют один тип;
— одинаковые записи в таблице отсутствуют;
— порядок записей в таблице может быть произвольным и может характеризоваться количеством полей, типом данных.
Иерархической называется БД, в которой информация упорядочена следующим образом: один элемент считается главным, остальные – подчинёнными. В иерархической базе данных записи упорядочиваются в определенную последовательность, как ступеньки лестницы, и поиск данных может осуществляться последовательным «спуском» со ступени на ступень. Данная модель характеризуется такими параметрами, как уровни, узлы, связи. Принцип работы модели таков, что несколько узлов более низкого уровня соединяются при помощи связи с одним узлом более высокого уровня.
Узел – информационная модель элемента, находящегося на данном уровне иерархии.
Свойства иерархической модели данных:
— несколько узлов низшего уровня связано только с одним узлом высшего уровня;
— иерархическое дерево имеет только одну вершину (корень), не подчинено никакой другой вершине;
— каждый узел имеет своё имя (идентификатор);
— существует только один путь от корневой записи к более частной записи данных.
Иерархической базой данных является Каталог папок Windows, с которым можно работать, запустив Проводник. Верхний уровень занимает папка Рабочий стол. На втором уровне находятся папки Мой компьютер, Мои документы, Сетевое окружение и Корзина, которые представляют собой потомков папки Рабочий стол, будучи между собой близнецами. В свою очередь, папка Мой компьютер – предок по отношению к папкам третьего уровня, папкам дисков (Диск 3,5(А:), С:, D:, E:, F:) и системным папкам (Принтеры, Панель управления и др.).
Сетевой называется БД, в которой к вертикальным иерархическим связям добавляются горизонтальные связи. Любой объект может быть главным и подчинённым.
Сетевой базой данных фактически является Всемирная паутина глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую распределенную сетевую базу данных.
Программное обеспечение, предназначенное для работы с базами данных, называется система управления базами данных (СУБД). СУБД используются для упорядоченного хранения и обработки больших объемов информации.
Система управления базами данных (СУБД) – это система, обеспечивающая поиск, хранение, корректировку данных, формирование ответов на запросы. Система обеспечивает сохранность данных, их конфиденциальность, перемещение и связь с другими программными средствами.
Основные действия, которые пользователь может выполнять с помощью СУБД:
— создание структуры БД;
— заполнение БД информацией;
— изменение (редактирование) структуры и содержания БД;
— поиск информации в БД;
— проверка целостности БД.
Современные СУБД дают возможность включать в них не только текстовую и графическую информацию, но и звуковые фрагменты и даже видеоклипы.
Простота использования СУБД позволяет создавать новые базы данных, не прибегая к программированию, а пользуясь только встроенными функциями. СУБД обеспечивают правильность, полноту и непротиворечивость данных, а также удобный доступ к ним.
Популярные СУБД — FoxPro, Access for Windows, Paradox.
Таким образом, необходимо различать собственно базы данных (БД) – упорядоченные наборы данных, и системы управления базами данных (СУБД) – программы, управляющие хранением и обработкой данных. Например, приложение Access, входящее в офисный пакет программ Microsoft Office, является СУБД, позволяющей пользователю создавать и обрабатывать табличные базы данных.
Принципы построения систем управления баз данных следуют из требований, которым должна удовлетворять организация баз данных:
— Производительность и готовность. Запросы от пользователя базой данных удовлетворяются с такой скоростью, которая требуется для использования данных. Пользователь быстро получает данные всякий раз, когда они ему необходимы.
— Минимальные затраты. Низкая стоимость хранения и использования данных, минимизация затрат на внесение изменений.
— Простота и легкость использования. Пользователи могут легко узнать и понять, какие данные имеются в их распоряжении. Доступ к данным должен быть простым, исключающим возможные ошибки со стороны пользователя.
— Простота внесения изменений. База данных может увеличиваться и изменяться без нарушения имеющихся способов использования данных.
— Возможность поиска. Пользователь базы данных может обращаться с самыми различными запросами по поводу хранимых в ней данных. Для реализации этого служит так называемый язык запросов.
— Целостность. Современные базы данных могут содержать данные, используемые многими пользователями. Очень важно, чтобы в процессе работы элементы данных и связи между ними не нарушались. Кроме того, аппаратные ошибки и различного рода случайные сбои не должны приводить к необратимым потерям данных. Значит, система управления данными должна содержать механизм восстановления данных.
— Безопасность и секретность. Под безопасностью данных понимают защиту данных от случайного или преднамеренного доступа к ним лиц, не имеющих на это права, от неавторизированной модификации (изменения) данных или их разрушения. Секретность определяется как право отдельных лиц или организаций решать, когда, как какое количество информации может быть передано другим лицам или организациям.
Далее на примере одной из самых распространенных систем управления базами данных – Microsoft Access входит в состав популярного пакета Microsoft Office – мы познакомимся с основными типами данных, способами создания баз данных и с приемами работы с базами данных.
Не нашли то, что искали? Воспользуйтесь поиском:
ОСНОВНЫЕ ПРИНЦИПЫ РАБОТЫ С БАЗАМИ ДАННЫХ
Цель работы:получить представление о базах данных; ознакомиться с программой MICROSOFT ACCESSи входящими в нее объектами; получить практические навыки по созданию баз данных.
Теоретические сведения
ACCESS— программаMICROSOFT OFFICE, позволяющая пользователю работать с базами данных. База данных — это любой набор информации (телефонная книга, данные о нагрузках подстанций и т.п.).
Таблицы
Основной частью каждой базы данных являются ее таблицы. Таблица базы данных во многом похожа на электронную таблицу. На рисунке 17.1 показана таблица данных ACCESS.
Рисунок 17.1 — Таблица данных ACCESS
В ACCESSвсе элементы базы данных хранятся в отдельной строке. Эта строка называется записью. Например, информация о каждом трансформаторе (его тип, номинальная мощность, номинальное напряжение обмотки, активное и реактивное сопротивление) является отдельной записью.
Каждый вид сведений хранится в своем столбце, называемом полем.
На пересечении поля и строки располагается часть данных определенной записи. Эта область называется ячейкой.
В каждом файле базы данных может быть несколько таблиц.
Формы, Отчеты, Запросы
Информация, введенная в базу данных, помещается в таблицы, в которых она будет храниться. Информацию можно вводить непосредственно в таблицу, но это не совсем удобно. Проще создать на экране специальные формы и вводить данные в таблицу с их помощью.
Форма представляет собой обычный бланк с полями, который необходимо заполнить. ACCESSсвязывает форму с таблицей. На рисунке 17.2 приведена форма, по которой создавалась таблица, показанная на рисунке 17.1.
Рисунок 17.2 — Форма для ввода данных в таблицу Трехфазные двухобмоточные трансформаторы
Отчет предназначен для вывода информации на печать. Это специально оформленные данные, организованные в соответствии с описанием, заданным пользователем.
Запрос— это способ отбора из базы данных нужной на данный момент информации. Он представляет собой фильтр, который отсеивает излишние данные.
Подробнее составление форм, отчетов и запросов будет рассмотрено в лабораторной работе №19.
Мастера ACCESS
Мастер представляет собой программу, которая, задавая вопросы о том, что бы Вы хотели сделать, на основе Ваших ответов создает таблицу, отчет, запрос и др. в соответствии с заданным Вами описанием. На рисунке 17.3 изображен пример того, как выглядит экран Мастера отчетов.
Рисунок 17.3 — Одно из диалоговых окон Мастера отчетов
Каждый раз при создании нового объекта (таблицы, формы, отчета) Вы можете либо самостоятельно создать его “с нуля”, либо воспользоваться помощью Мастера.
Для начинающих пользователей рекомендуется обращаться к Мастерамкак можно чаще, так как они существенно облегчают работу.
Запуск и внешний вид программы ACCESS
Для запуска ACCESSвГлавном меню выберите Microsoft Access. Окно программы, как и многие другие окна программWindows,содержитСтроку меню, Панель инструментов, Рабочую область иСтроку состояния (рисунок 17.4).
Кнопки панели инструментов используются для быстрого выполнения некоторых команд и меняются в зависимости от объекта, с которым Вы в данный момент работаете. Для того чтобы понять, какие действия можно выполнять с помощью каждой из кнопок панели инструментов, подведите к ней указатель мыши. Рядом с указателем появится название кнопки (рисунок 17.4).
Рисунок 17.4 — Внешний вид окна ACCESS
Создание новой базы данных
После первого запуска ACCESSна экране появляется диалоговое окно ACCESS(рисунок 17.5), с помощью которого можно создать новую или открыть уже существующую базу данных. Для того чтобы создать новую базу данных, выберите Новая база данных и нажмите кнопку ОК.
Рисунок 17.5 — Создание новой базы данных
Если Вы до этого уже работали с какой-либо базой данных, то, чтобы создать новую базу данных, выберите в меню Файл команду Создать или щелкните напанели инструментов кнопкуСоздать базу данных. Появится диалоговое окно Создание файла.
При необходимости выберите вкладку Общие. Затем щелкните дважды значок Новая база данных. Появится диалоговое окно Файл новой базы данных. Введите название новой базы данных и щелкните кнопку Создать. ACCESSсоздаст новую пустую базу данных.
17.1.6 Создание базы данных с помощью Шаблонов
Шаблон автоматически может создать почти все таблицы, формы и отчеты, которые предусмотрены в ACCESS. Для того чтобы создать базу данных при помощи Шаблона, выполните следующие действия:
· если Вы только что запустили программу ACCESSи диалоговое окно (рисунок 17.5) все еще находится на экране, щелкните кнопку Общие шаблоны, а затем ОК.Если Вы уже закрыли это окно, выберите команду Файл, Создать. Появится диалоговое окно Создание;
· щелкните вкладку Базы данных, чтобы отобразить список Шаблонов (рисунок 17.6);
Рисунок 17.6 — Диалоговое окно выбора Шаблона
· найдите нужный вам Шаблон (например, Контакты)и щелкните кнопку ОК;
· вдиалоговом окне Файл новой базы данных нажмите кнопку Создать. Запустится Шаблон и появится диалоговое окно 1, объясняющее, что этот Шаблон будет делать (рисунок 17.7);
· щелкните кнопку Далее.Появитсядиалоговое окно 2 (рисунок 17.8).В левом списке указаны таблицы, которые может создать Шаблон, а в правом — поля, которые будет включать в себя таблица. Щелкнув по ним мышью, их можно включить в таблицу;
· щелкните кнопку Далее и в появившемся диалоговом окне выберите вид оформления экрана. Выбранный вид отображается в области просмотра;
Рисунок. 17.7 — Диалоговое окно 1 Создание баз данных
Рисунок 17.8 — Диалоговое окно 2 Создание баз данных
· нажав кнопку Далее выберите вид оформления отчета для печати;
· в следующем диалоговом окне Вы можете ввести заголовок базы данных, который будет указан во всех отчетах, а также выбрать рисунок, который будет помещен во все формы и отчеты;
· после нажатия кнопки Готовобудет создана новая база данных.
Когда создание базы данных будет закончено, появится окно Главная кнопочная форма (рисунок 17.9), с помощью которой Вы можете выполнять общие задачи с использованием базы данных, щелкнув одну из кнопок.
Рисунок 17.9 — Главная кнопочная форма базы данных, созданной по Шаблону Контакты
Сохранение баз данных
Чтобы после отключения компьютера введенная Вами информация не была утеряна, необходимо ее сохранить. При создании базы данных она сохраняется, когда ей дается название. Кроме того, после ввода каждой записи ACCESSавтоматически будет сохранять введенную информацию. Поэтому в ACCESSнет необходимости сохранять работу перед закрытием базы данных. Однако если Вы изменили структуру таблицы, формы или другого объекта, появится диалоговое окно, с запросом, сохранять или нет внесенные изменения.
Порядок выполнения работы
1. Изучите теоретические сведения.
2. Запустите программу ACCESSи ознакомьтесь с меню.
3. На диске, указанном преподавателем, создайте новую базу данных с помощью Мастера.
4. Закройте кнопочную форму и посмотрите, какие элементы созданы в базе данных.
5. Удалите базу данных, созданную Мастером.
6. Создайте новую пустую базу данных, в которой на следующих занятиях Вы создадите таблицы, формы, отчеты и дайте ей название.
7.Выйдите изACCESS.
8. Ответьте на контрольные вопросы.
Содержание отчета
2. Краткое описания хода выполнения лабораторной работы.
3. Письменные ответы на контрольные вопросы по указанию преподавателя.
17.4 Контрольные вопросы
1. Какие объекты входят в состав ACCESS и для чего они предназначены?
2. Из каких элементов состоит окно ACCESS?
3. Какие кнопки находятся на панели инструментов и какие действия они позволяют выполнять?
4. Какие команды содержатся в Строке меню и каково их назначение?
5. Каково назначение строки состояния?
6. Для чего предназначены Формы?
7. Каково назначениеОтчетов?
8. Какие функции выполняют Запросы?
9. Каково назначение Шаблонов?
10. Как можно создать новую базу данных?
11. Как создать базу данных при помощи Шаблона?
12. Что представляет собой Главная кнопочная форма?
ЛАБОРАТОРНАЯ РАБОТА № 18
РАБОТА С ТАБЛИЦАМИ ACCESS
Цель работы: научиться создавать таблицы с помощью Мастерови в режиме Конструктора; получить навыки работы с таблицами.
Теоретические сведения
В ACCESS вся введенная информация хранится в таблицах, которые являются основой всей базы данных.
Работа с таблицами может осуществляться в двух режимах: режиме Конструктораи режиме Таблицы. Режим таблицы предназначен для ввода и просмотра информации, а режим Конструктора – для создания и изменения структуры таблицы.
Для того чтобы выбрать режим работы, нужно в меню Видвыбрать Конструкторили Режим таблицы, в зависимости от того, как Вы хотите работать. Кроме того, переключить режим можно, используя кнопку Вид на панели инструментов.
Создать таблицу можно с помощью режима Конструктора таблиц или использовать Мастер таблиц.
Последнее изменение этой страницы: 2020-04-26; Нарушение авторского права страницы