Всем привет! В этом уроке разберем пошаговое создание таблиц в базе данных Access. От вас потребуется только читать и повторять. Поехали!
Цель: научиться создавать таблицы базы данных, задавать их структуру, выбирать типы полей и управлять их свойствами; освоить приемы наполнения таблиц конкретным содержанием.
Руководитель малого предприятия, выполняющего сборку персональных компьютеров из готовых компонентов, заказал разработку базы данных, основанной на двух таблицах комплектующих.
Одна таблица содержит данные, которые могут отображаться для клиентов при согласовании спецификации изделия, — в ней указаны розничные цены на компоненты.
Вторая таблица предназначена для анализа результатов деятельности предприятия – в ней содержаться оптовые цены на компоненты и краткая информация о поставщиках (клиенты предприятия не имеют доступа к данным этой таблицы).
1. Запустите программу Microsoft Access (Пуск — Программы — Microsoft Office — Microsoft Access).
2. В окне Microsoft Access включите переключатель Новая база данных.
Создание БД Access — Пошаговое создание таблиц в базе данных Access
3. На боковой панели выберите место, где будет храниться база данных, дайте файлу имя: Комплектующие. Убедитесь, что в качестве типа файла выбрано Базы данных Microsoft Access и щелкните по кнопке Создать. В результате на экране должно появиться окно новой базы данных. Автоматически будет запущен режим создания первой таблицы:
4. Перейти из режима таблицы в режим конструктора, выбрав его в меню:
Когда программа запросит имя таблицы, ввести название: Комплектующие и нажать Ok. Откроется окно конструктора, в котором мы будем создавать структуру таблицы:
Создание Таблицы Access — Пошаговое создание таблиц в базе данных Access
5. Для первой таблицы введите следующие поля:
Обратите внимание на то, что в данном случае поле Цена задано не денежным типом, а числовым. Данные, относящиеся к денежному типу, имеют размерность, выраженную в рублях (если работа выполняется с версией Microsoft Access, локализованной в России).
Но стоимость компонентов вычислительной техники выражать в этой единице измерения не принято. Для сравнимости цен разных поставщиков обычно используют “условные единицы”.
В таких случаях удобно использовать поле числового типа, чтобы не перенастраивать всю СУБД.
Таблица «Комплектующие» — Пошаговое создание таблиц в базе данных Access
6. Щелкните на поле Цена. В нижней части бланка задайте свойство Число десятичных знаков, равным 2.
7. Для связи с будущей таблицей поставщиков надо задать ключевое поле. Поскольку здесь ни одно поле явно не претендует на “уникальность”, используем комбинацию полей Компонент и Модель. Выделите оба поля в верхней части бланка (при нажатой клавише SHIFT). Щелчком правой кнопки мыши откройте контекстное меню и выберите в нем пункт Ключевое поле.
После этого рядом с этими полями будет отображаться «ключ». 8. Закройте окно Конструктора (обычное закрытие – через «крест» в верхнем правом углу окна конструктора).
На запрос сохранения изменённой структуры таблицы ответить согласием.
- 9. Повторив действия пунктов 4-8, создайте таблицу Поставщики, в которую входят следующие поля:
- Для этого нужно выполнить следующее: меню Создать — Таблица.
- Выбрать режим Конструктора.
Обратите внимание на то, что поле номера телефона является текстовым, несмотря на то, что обычно номера телефонов записывают цифрами. Это связано с тем, что они не имеют числового содержания. Номера телефонов не сравнивают по величине, не вычитают из одного номера другой и т.д.
Это типичное текстовое поле.
Ключевое поле можно не задавать – для текущей задачи оно не требуется.
10. В левой боковой панели окна базы данных двойным щелчком откройте по очереди созданные таблицы и наполните их экспериментальным содержанием (по 10 записей).
11.
Закончив работу, закройте таблицы и завершите работу с программой.
В этом уроке на простом примере было показано Пошаговое создание таблиц в базе данных Access. Если было интересно, то рекомендую посмотреть видеоурок ниже.
- Продолжение следует…
УРОК 1: Пошаговое создание таблиц в базе данных Access
УРОК 2: Создание межтабличных связей в базе Access
УРОК 3: Создание запроса на выборку данных в базе Access
УРОК 4: Создание запросов с параметром в базе Access
УРОК 5: Создание перекрёстного запроса в базе Access
УРОК 6: Создание запросов на изменение в базе Access - УРОК 7: Создание и заполнение форм в базе Access
Источник: https://accesshelp.ru/poshagovoe-sozdanie-tablic-v-baze-dannyh-access/
SQL урок 0 часть 2. Задания по созданию баз данных — лабы по информатике, егэ
На уроке будут рассмотрены задания на создание sql баз данных. Созданные базы данных будут использованы в ходе последующих уроков
Задание «Институт»
- Создание базы данных Институт было рассмотрено ранее. Вспомним основные этапы по созданию таблиц и их заполнению:
- База данных включает три таблицы:
- Заполнение таблиц данными:
Сначала заполняется главная таблица — teachers:![]() |
Таблица courses:![]() Поле tid является внешним ключом для соединения с таблицей teachers (полем id) |
Таблица lessons:![]() Поле tid является внешним ключом для соединения с таблицей teachers (полем id) |
Важно: Для осуществления внешних связей при работе в mySQL необходимо зайти в структуру таблицы и щелкнуть по пункту связи:
Задание «Компьютерные курсы»
Необходимо создать sql базу данных для работы компьютерных курсов.
База данных включает три основных таблицы:
Поля-счетчики (Auto increment AI):
- таблица Список — поле Код,
- таблица Личные данные — не имеет счетчика, т.к. поле Код студента — внешний ключ.
Установка первичных ключей
- В таблице Список внешним ключом является поле Учебная группа, которое связывает таблицу с одноименным полем таблицы Группы.
- В таблице Личные данные внешним ключом является поле Код студента (оно же является и внутренним ключом), которое связывает таблицу с таблицей Список по полю Код.
- Подразумевается, что данные для поля «Учебная группа» в таблице Список будут автоматически заполняться из таблицы Группы (Учебная группа). Для этого необходимо установить связь между таблицами:
Для автоматического заполнения поля Учебная группа необходимо определить внутреннюю связь:
Использование дизайнера схемы данных:
Войдите в режим работы с базой данных, для этого щелкните по ссылке:
Далее проследуйте по ссылке:
Связать таблицы можно с помощью кнопки Создать связь:
Заполнение таблиц данными:
Сначала заполняется таблица Группы, чтобы значение поля Учебная группа впоследствии автоматически добавлялось в таблице Список при заполнении поля Учебная группа.
Затем заполняется таблица Список:
В последнюю очередь заполняется таблица Личные данные. В поле Код студента должны быть уникальные значения для каждого студента:
Задание «Компьютерный магазин»
SQL table 2. Используя сервис http://dbdesigner.net/ и команду Schema -> Import создайте при помощи языка SQL базу данных «Компьютерный магазин» со следующими таблицами и связями между их полями:
Дополните код (для таблиц PC и Notebook):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
CREATE TABLE `Product` ( `Номер` INT(11) NOT NULL AUTO_INCREMENT, `Производитель` VARCHAR(35), `Тип` VARCHAR(35), PRIMARY KEY (`Номер`) ); CREATE TABLE `Printer` ( `code` BIGINT NOT NULL, `Номер` BIGINT NOT NULL, `Цветной` bool, `Тип` VARCHAR(24) DEFAULT 'Лазерный', `Цена` INT, PRIMARY KEY (`code`) ); |
CREATE TABLE `Product` ( `Номер` int(11) NOT NULL AUTO_INCREMENT, `Производитель` varchar(35), `Тип` varchar(35), PRIMARY KEY (`Номер`) ); CREATE TABLE `Printer` ( `code` bigint NOT NULL, `Номер` bigint NOT NULL, `Цветной` bool, `Тип` varchar(24) DEFAULT 'Лазерный', `Цена` int, PRIMARY KEY (`code`) );
* Сохраните сгенерированный код базы данных для дальнейшей работы (Export -> SQL)
SQL table 3. Заполните созданную базу данных, чтобы в дальнейшем иметь возможность создавать запросы к ней. Для заполнения используйте сервис phpMyAdmin:
— создайте новую базу данных;
— через SQL создайте таблицы базы данных, использовав код из предыдущего задания (вставить код в окно для SQL запросов интерфейса phpMyAdmin);
— заполните таблицы данными:
Таблица Продукт:
1 | Америка | Компьютер |
2 | Африка | Компьютер |
3 | Россия | Компьютер |
4 | Россия | Принтер |
5 | Япония | Принтер |
6 | Америка | Компьютер |
7 | Россия | Ноутбук |
8 | Китай | Принтер |
9 | Америка | Компьютер |
10 | Китай | Ноутбук |
Таблица PC:
1 | 1 | 1100 | 1000 | 500 | 52 | 20000 |
2 | 2 | 1500 | 2000 | 500 | 52 | 25000 |
3 | 3 | 1500 | 2000 | 1000 | 49 | 28000 |
4 | 6 | 2000 | 2500 | 1000 | 52 | 29000 |
5 | 9 | 2000 | 3000 | 1000 | 52 | 32000 |
Таблица Ноутбук:
1 | 7 | 2000 | 2000 | 512 | 19 | 25000 |
2 | 10 | 2000 | 3000 | 1000 | 24 | 35000 |
Таблица Принтер:
1 | 4 | 1 | Лазерный | 15000 |
2 | 5 | Струйный | 2000 | |
3 | 8 | Лазерный | 4000 |
* При отсутствии возможности работы с phpMyAdmin, воспользуйтесь сервисом sql fiddle.
Источник: https://labs-org.ru/sql-0-2/
Простая бд Access — Студенты ОмГУПСа
Задание База данных «Студенты ОмГУПСа» MS Access (11 вариант).
База данных должна содержать следующие элементы:
- Таблица «Группы»: факультет; группа; Ф.И.О. куратора.
- Таблица «Студенты»: группа; шифр студента; Ф.И.О.; адрес; телефон; хобби.
- Таблица «Дисциплины»: шифр дисциплины; наименование дисциплины.
- Таблица «Успеваемость»: дата; шифр дисциплины; шифр студента; оценка; отметка о пропуске занятия
Поле со списком – таблица «Успеваемость», поле «Оценка».
Поле подстановки – «Шифр дисциплины» в таблице «Успеваемость», источник таблица «Дисциплины».
Запросы на выборку:
- Студенты, имеющие оценку «2» по химии.
- Студенты, имеющие пропуски занятий по математике.
- Успеваемость студента Р. Л. Ершова по математике и физике.
Запрос с вычисляемым полем
Индивидуальный код студента, представляющий собой сумму шифра студента и шифра дисциплины (таблица «Дисциплины»).
- Групповой запрос:
- Запрос с параметром:
- Отчет по студентам, сгруппированный по факультетам, сортировка по ФИО студента.
- Составляем таблицы и логическую схему, описываем типы данных и другие параметры полей данных (все, как сказано в методичке).
Количество пропусков занятий по каждой дисциплине (таблица «Студенты»).
Отметки о пропусках занятий студентом N
Подробное описание, как можно выполнить такое задание, приведено в нулевом и первом вариантах.
Запускаем СУБД MS Access и создаем таблицы. Затем устанавливаем связи.
Схема базы данных в MS Access.
В базе данных – три таблицы. Три справочника («Группы», «Студенты» и «Дисциплины») и таблица с информацией об успеваемости. Связи и подчиненность таблиц видно на схеме. Тип всех связей один-ко-многим.
Переходим к запросам.
Первый запрос на выборку:
Запрос с вычисляемым полем
Для преобразования в формат строки числовых значений шифров используем функцию CStr. Групповой запрос
Делаем отчет. Многотабличный запрос
Отчет в режиме конструктора:
Итоги в отчете не рассчитываются.
Источник: https://studhelper.blogspot.com/2013/10/acc11.html
Установка связеймежду таблицами БД Access 2007
Логические связи устанавливаются между одноименными полями таблиц базы данных Access 2007. Связь данных в одной таблице с данными в других таблицах осуществляется через уникальные идентификаторы (ключи) или ключевые поля. В нашем случае мы должны установить логические связи между таблицами: Группы студентов, Студенты, Дисциплины и Успеваемость.
Для установления связей используем ключевые поля: КодГруппы, КодСтудентов и КодДисциплины. Например, между первичным ключом (КодГруппы) tables Группы студентов и вторичным ключом (КодГруппы) tables Студенты устанавливаем связь один — ко — многим.
Прежде чем приступить к созданию логических связей надо в Окне редактирования закрыть все tables и перейти на вкладку Работа с базами данных. Затем щелкнуть на пиктограмме Схема данных, в окне редактирования появится активное диалоговое окно «Добавление таблицы» на фоне неактивного окна Схема данных (рис. 1).
Рис. 1.
В окне Добавление таблиц необходимо выделить имена таблиц и нажать кнопку Добавить, при этом в окне «Схема данных» появятся все tables (рис. 2). После этого необходимо закрыть окно диалога.
Рис. 2.
Далее необходимо установить связи между табл. в окне Схема данных. Для этого в окне Схема данных необходимо отбуксировать (переместить) поле КодГруппы из таблицы Группы студентов на соответствующее поле tables Студенты, в результате этой операции появится окно «Изменение связей» (рис. 3) .
Рис. 3.
В появившемся окне диалога «Изменение связей» (рис. 3) необходимо установить флажки: «Обеспечить целостность данных», «каскадное обновление связанных полей» и «каскадное удаление связанных записей», убедиться в том, что установлен тип отношений один-ко-многим и нажать кнопку Создать.
В окне Схема данных появится связь один-ко-многим между таблицами Группы студентов и Студенты. Аналогичным образом надо связать поля КодСтудента в таблицах Студенты и Успеваемость, а затем поля КодДисциплины в таблицах Успеваемость и Дисциплины. В итоге получим Схему данных, представленную на рисунке 4.
Рис. 4.
После установки связей между таблицами, окно Схема данных необходимо закрыть. Далее необходимо осуществить заполнение всех таблиц. Заполнение целесообразно начинать с табл. Группы студентов, так как поле КодГруппы табл. Студенты используется в качестве столбца подстановки для заполнения соответствующего поля табл. Студенты.
Затем установить связи между табл. «Студенты» и «Успеваемость», «Дисциплины» и «Успеваемость», так как поля КодСтуденты и КодДисциплины табл. Успеваемость используется в качестве столбца подстановки для заполнения соответствующих полей таблицы Успеваемость.
Далее >>> Раздел: 2.4.4. Заполнение таблиц базы данных Access 2007
Источник: https://www.lessons-tva.info/edu/inf-access/access_3.html
Безопасность систем баз данных
Литература
- Официальная документация по PHP
- Документация на MySQL
Основные понятия:
Нормальная форма
Нормальная форма (http://ru.wikipedia.org/wiki/Нормальная_форма).
- свойство отношения (связи) в реляционной модели данных, характеризующее его с точки зрения избыточности (повторяются одни и те-же данные ), потенциально приводящей к логически ошибочным результатам выборки или изменения данных.
- Процесс преобразования отношений базы данных к виду, отвечающему нормальным формам, называется нормализацией.
- Преимущества которые дает нормализация:
- Уменьшение записей в таблицах (экономия места на диске)
- Построение логической структуры, вместо большой таблицы, создаются небольшие таблицы связанные между собой.
- Более удобное управление доступом (например: оператору можно дать доступ только к его таблице).
Первые три нормальные формы (кратко):
- 1 НФ — оставляют только одно значение в строке для каждого столбца.
- 2 НФ — оставляют только столбцы функционально зависимые от потенциального составного ключа целиком, а не от части ключа.
- 3 НФ — оставляют только столбцы напрямую функционально зависимые от потенциального ключа.
Приведение к 1 НФ:
Не приведенная таблица (исходная)
Организация | Город | Адрес | WWW | Вид | Конт. лица | |
Поршневой з-д | Казань | Ул. 2-я Кольцевая, 17 | info@plunger.ru | www.plunger.ru | Поставщик | Иванов, зам. дир., тел (3254)76-15-95Петров, нач. отд. сбыта, тел (3254)76-15-35 |
ООО Вымпел | Курск | Ул. Гоголя, 25 | pennon@mail.ru | Клиент | Сидоров, директор, тел. (7634)66-65-38 | |
ИЧП Альфа | Казань | Ул. Пушкинская, 37, оф. 565 | alpha323@list.ru | Клиент | Васильев, директор, тел (3254)74-57-45 |
Устраняем проблему множества значений в первой строке «Иванов И.И., зам. дир., тел (3254)76-15-95» и «Петров П.П., нач. отд. сбыта, тел (3254)76-15-35».
Проблема в том, что, например, при удалении одного контактного лица из двух, нужно писать специальный код для этого.
Разбиваем на отдельные строки.
Организация | Город | Адрес | WWW | Вид | Конт. лица | |
Поршневой з-д | Казань | Ул. 2-я Кольцевая, 17 | info@plunger.ru | www.plunger.ru | Поставщик | Иванов, зам. дир., тел (3254)76-15-95 |
Поршневой з-д | Казань | Ул. 2-я Кольцевая, 17 | info@plunger.ru | www.plunger.ru | Поставщик | Петров, нач. отд. сбыта, тел (3254)76-15-35 |
ООО Вымпел | Курск | Ул. Гоголя, 25 | pennon@mail.ru | Клиент | Сидоров, директор, тел. (7634)66-65-38 | |
ИЧП Альфа | Казань | Ул. Пушкинская, 37, оф. 565 | alpha323@list.ru | Клиент | Васильев, директор, тел (3254)74-57-45 |
Теперь удаляется просто строка.
Устраняем проблему множества значений в ячейках последнего столбца (ФИО должность и телефон) «Иванов И.И.», «зам. дир.» «тел (3254)76-15-95».
Проблема в том, что, например, при изменении одного из трех, нужно писать специальный код для этого.
Разбиваем на отдельные столбцы.
Организация | Город | Адрес | WWW | Вид | Должность | Фамилия | Код города | Тел. | |
Поршневой з-д | Казань | Ул. 2-я Кольцевая, 17 | info@plunger.ru | www.plunger.ru | Поставщик | зам. дир. | Иванов | 8432 | 76-15-95 |
Поршневой з-д | Казань | Ул. 2-я Кольцевая, 17 | info@plunger.ru | www.plunger.ru | Поставщик | нач. отд. сбыта | Петров | 8432 | 76-15-35 |
ООО Вымпел | Курск | Ул. Гоголя, 25 | pennon@mail.ru | Клиент | директор | Сидоров | 7634 | 66-65-38 | |
ИЧП Альфа | Казань | Ул. Пушкинская, 37, оф. 565 | alpha323@list.ru | Клиент | директор | Васильев | 8432 | 74-57-45 |
Таблица приведена к 1НФ.
Но повторяющиеся значения в таблице, являются потенциальным источником проблем.
Источник: https://moodle.kstu.ru/mod/page/view.php?id=10146