Imagesforyou.ru

IMG FOR YOU — ИНТЕРЬЕРНАЯ ФОТОСТУДИЯ
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

База данных школы пример

База данных школы пример

Урок 8. Этапы создания многотабличной БД с помощью реляционной СУБД.

Практическая работа № 2. Знакомство с СУБД Access

Практикум
Практическая работа №1.3. "Знакомство с СУБД LibreOffice Base"

Цель работы: освоение простейших приемов работы с готовой базой данных в среде СУБД LibreOffice Base:

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

Используемые программные средства: LibreOffice Base.

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

Справочная информация

Существуют СУБД, ориентированные на программистов и ориентированные на конечного пользователя. Любые действия, выполняемые с базой данных, производятся на компьютере с помощью программ. СУБД, ориентированные на программистов, фактически являются системами программирования со своим специализированным языком, в среде которых программисты создают программы обработки баз данных. Затем с этими программами работают конечные пользователи. К числу СУБД такого типа относятся Visual FoxPro, Oracle, Informix и др.

СУБД LibreOffice Base относится к системам, ориентированным на конечного пользователя. Она позволяет пользователю, не прибегая к программированию, легко выполнять основные действия с базой данных: создание, редактирование и манипулирование данными. СУБД LibreOffice Base входит в состав свободно распространяемого офисного пакета LibreOffice (аналог коммерческого пакета Microsoft Office). Данный пакет является кроссплатформенным, т. е. существуют его версии для различных операционных систем (Windows, Linux, Mac). С помощью Base создаются и эксплуатируются персональные базы данных с относительно небольшим объемом информации. Для создания крупных промышленных информационных систем данный пакет не подходит.

Среда LibreOffice Base с окном базы данных на рабочем поле:

image

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

1) База данных. Содержит названия основных типов объектов, с которыми работает Base (Таблицы, Запросы, Формы, Отчеты);

2) Задачи. Содержит список задач, которые можно решить для выбранного объекта.

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

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

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

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

Читайте так же:
Вайбер или вацап что это

Запрос — результат обращения пользователя к СУБД для поиска данных, добавления, удаления и обновления записей. Результат поиска (выборки) данных представляется в табличном виде. Термином «запрос» называют также сами команды обращения к СУБД.

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

Еще одним особым видом данных являются связи — описание структуры связей в многотабличной базе данных.

Режимы работы СУБД LibreOffice Base многообразны. Так же как и для других приложений Windows, иерархия режимов реализована через главное меню. Есть режимы общего характера: работа с файлами (меню Файл); работа с буфером обмена (меню Правка); режим настройки среды (меню Вид); справочный режим (меню Справка). Однако основным режимом можно назвать режим работы с базой данных. Он устанавливается после выполнения команды Файл -> Создать базу данных или Файл -> Открыть базу данных. Поскольку база данных хранится в файле, в первом случае система потребует задать имя и место хранения файла, а во втором — указать на существующий файл с базой данных.

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

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

Задание 1

1. Запустить на исполнение LibreOffice Base.

2. Открыть базу данных «Компьютерная школа» (путь и файл, в котором хранится БД, будут указаны учителем).

3. Установить режим работы с таблицей (вкладка Таблицы). Открыть таблицу «Ученик»: команда Открыть. Изучить содержимое таблицы.

4. Закрыть таблицу. Перейти в режим работы со структурой таблицы: команда меню Правка -> Изменить.

5. Последовательно перемещаясь от поля к полю, познакомиться со свойствами полей: типами, форматами, длиной.

6. Закрыть конструктор.

Задание 2

1. Перейти в режим работы с формами (вкладка Формы).

2. Открыть форму «Ученик».

image

3. Через открывшуюся форму просмотреть последовательность записей. Выполнить переход на первую и последнюю записи, на запись с номером 5, на запись с номером 10.

4. Добавить в конец таблицы еще одну запись о новом ученике: 21, Валеев, Александр, 2, Б, 6, 8.

5. Закрыть форму, сохранив введенную информацию.

Задание 3

Выполнить действия на сортировку записей в полной таблице.

1. Отсортировать таблицу по фамилиям учеников в алфавитном порядке (ключ сортировки — поле «Фамилия»). Для этого:

=> выделить столбец «Фамилия» (щелкнуть по заголовку);

Читайте так же:
Битрикс получить элемент по id

=> с помощью кнопки imageна панели инструментов выполнить сортировку.

2. Отсортировать таблицу по двум ключам: «Школа» и «Фамилия» в порядке возрастания. Для этого:

=> нажать кнопку imageна панели инструментов;

=> в появившемся диалоговом окне выбрать первое поле «Школа» с порядком сортировки по возрастанию, а затем — поле «Фамилия» с порядком сортировки по возрастанию.

Обратите внимание на результат: записи с одинаковым значением поля «Школа» расположились в порядке возрастания поля «Фамилия». Здесь «Школа»называется первичным, а «Фамилия» — вторичным ключом сортировки.

Задание 4

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

1. Открыть таблицу «Ученик».

2. С помощью фильтра отобрать всех учеников из школы 44.

=> выбрать кнопку image;

=> в появившемся диалоговом окне выбрать имя поля «Школа», условие = (равно), значение 44 и нажать кнопку ОК.

3. Удалить фильтр с помощью кнопки image.

4. Аналогично заданию 2 выбрать всех учеников — восьмиклассников.

Приложение

База данных «Компьютерная школа»

Используйте хотя бы третью нормальную форму

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

Sportmaster Lab , Липецк, Москва, Санкт-Петербург , От 100 000 до 150 000 ₽

Нормальных форм существует целых 6 штук, однако обычно соблюдают всего лишь 3 и для начала этого более чем достаточно.

Первая нормальная форма

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

Это отношение, как и любое другое, автоматически находится в первой нормальной форме:

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

Вторая нормальная форма

В нашем случае у таблицы выше имеется сложный (составной) ключ <Н_СОТР, Н_ПРО>. От части ключа Н_СОТР зависят неключевые атрибуты ФАМ , Н_ОТД , ТЕЛ . От части ключа Н_ПРО зависит неключевой атрибут ПРОЕКТ . А вот атрибут Н_ЗАДАН зависит от всего составного ключа, так как сотрудник может выполнять одно задание в одном проекте.

Поэтому для приведения отношения ко второй нормальной форме из отношения сотрудники_отделы_проекты нужно выделить два отношения сотрудники_отделы и проекты, а исходное отношение оставим отношением задания.

Наконец, третья нормальная форма

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

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

Отношение сотрудники_отделы не находится в третьей нормальной форме, так как имеется зависимость неключевых атрибутов, таких как зависимость номера телефона от номера отдела. Поэтому декомпозируем отношение сотрудники_отделы на два отношения — сотрудники и отделы:

Атомарной (неделимой) единицей таких БД является документ. Каждый документ — JSON, схема может различаться в разных документах и содержать разные поля. Документные БД позволяют индексировать некоторые поля документа для ускорения запросов на основе этих полей. Следовательно, во всех документах есть поля.

Читайте так же:
Видеокамера panasonic ag dvx200

Использование

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

  • MongoDB
  • CouchDB
  • DocumentDB

Как работать с комплексными SQL-запросами:

  • проверяйте корректность выполнения каждой части — гораздо проще отловить ошибку на промежуточном этапе, чем в конце;
  • не пишите слишком много вложенных друг в друга подзапросов. Даже вам будет трудно разобраться в таком коде через пару дней. Старайтесь выделять логические части в CTE;
  • старайтесь не мешать CTE и подзапросы с вложенностью больше трех. Применяйте в коде что-то одно, выносите все сложные части в общие табличные выражения или пишите подзапросы с большой вложенностью;
  • ставьте фильтры на первых этапах. Чем раньше вы ограничите выборку, тем меньше данных придется вычислять в следующих операциях;
  • не переименовывайте столбцы и таблицы без причины. Не стоит давать таблице alias ради сокращения ее названия на 2 символа. Не переименовывайте столбцы из таблиц, к которым не применялась обработка. Используйте псевдонимы при необходимости. Например, если название таблицы очень длинное. Тип псевдонима по первой букве таблицы можно применить, если все в вашей компании знают, что s — sales table. Но если это может быть sales_profit, sales_roi или sales_partners, лучше оставить название без изменения;
  • оставляйте комментарии;
  • не забывайте о форматировании. Его отсутствие может сделать скрипт нечитаемым и привести к неверной интерпретации другим членом команды. Поэтому делайте табуляцию, отступы и не пишите все сплошным текстом.
  • выносите отдельно все повторяющиеся части запроса, чтобы к ним можно было обратиться несколько раз, не переписывая заново.

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

Создание страниц из вашего контента

Конечно, хранение и поддержание данных — это хорошо, но реальный смысл наличия веб-сайта — это отображение контента для посетителей. Итак, давайте поговорим о том, как это работает с Wix Code.

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

Настройка динамической страницы

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

Вы устанавливаете шаблон URL, выбирая поле (или поля) из вашей коллекции. Один шаблон URL, который вы можете использовать для отображения каждого из ваших курсов, может быть https: //… / Courses /

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

Читайте так же:
Видеокамера с пультом дистанционного управления

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

Динамический макет страницы

Реальные динамические страницы могут выглядеть примерно так.

Динамические страницы

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

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

Наконец, обратите внимание, что URL-адреса страниц уникальны для каждой страницы. По сути, каждая из этих страниц уникальна. И Wix Code создает их автоматически для нас. Если мы добавим новый курс в нашу коллекцию, страница для него будет создана автоматически.

Мастер-страницы

Еще одна интересная вещь, которую вы можете сделать с помощью Wix Code, — это создание страниц с основными сведениями. Например, вы можете создать страницу, которая будет выступать в качестве указателя, в котором перечислены все учителя в вашей школе и курсы, которые каждый из них преподает. Это потребует извлечения информации из нескольких коллекций (курсов и учителей), а затем отфильтрует курсы по их учителю, чтобы отображались только соответствующие курсы.

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

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

Индексная страница

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

Изменения в отношении документов о дополнительном профессиональном образовании

С 1 января 2019 года лицензированные учебные центры обязаны передавать в ФРДО данные о слушателях, которые получили дополнительное профессиональное образование (ч. 9 и 10 ст. 98, п. 2 ч. 15 ст. 107 Федерального закона от 29.12.2012 № 273-ФЗ «Об образовании в Российской Федерации», Постановление Правительства РФ от 26.08.2013 № 729).

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

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

Читайте так же:
Видеокамера для съёмки дома

Как только ФРДО доработает сайт, можно будет проверять на подлинность дипломы по программам дополнительного профессионального образования, а не только дипломы о высшем или среднем профобразовании. Следите за новостями на сайте Контур.Школы.

Пример, как данные попадают в ФРДО и что с ними происходит дальше

  1. Виктория Солнышкина прошла онлайн-обучение по программе профессиональной переподготовки «Главный бухгалтер организации бюджетной сферы» в Контур.Школе и 1 октября 2019 года получила диплом о профпереподготовке.
  2. Данные о дипломе Виктории Солнышкиной Контур.Школа незамедлительно передала в ФРДО. Потому что Контур.Школа — лицензированный учебный центр (лицензия на образовательную деятельность № 036652 от 13.10.2015 г.), подключена к ФРДО и, исполняя требования закона, передает в реестр сведения о выданных документах. Информационное письмо о том, что Контур.Школа передает данные в ФРДО.
  3. ФРДО будет хранить данные о дипломе Виктории Солнышкиной на защищенных серверах. А позже, когда функция доступа к данным заработает, Виктория или ее работодатель смогут самостоятельно найти диплом в ФРДО и убедиться в его подлинности.
  4. Виктория устраивается в новую компанию, и ее потенциальный работодатель хочет удостовериться, что диплом о профпереподготовке подлинный, но реестр пока не доступен. Что делать? HR-менеджер подумал и сделал запрос в Контур.Школу. Мы отправили подтверждение, что такой диплом выдавали.

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

Кому и зачем интересно проверить дипломы с курсов?

  • Работникам, прошедшим обучение по программам дополнительного профессионального образования, — чтобы удостовериться, что диплом, полученный «потом и кровью», действительно имеет силу и включен в официальный реестр ФРДО.
  • Работодателям, кадровикам — чтобы проверить подлинность дипломов соискателей и быть уверенными в их квалификации.

Задание «Компьютерный магазин»

язык sql создание таблиц

Дополните код (для таблиц PC и Notebook ):

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 )

НомерПроизводительТип
1АмерикаКомпьютер
2АфрикаКомпьютер
3РоссияКомпьютер
4РоссияПринтер
5ЯпонияПринтер
6АмерикаКомпьютер
7РоссияНоутбук
8КитайПринтер
9АмерикаКомпьютер
10КитайНоутбук

Таблица PC:

codeНомерСкоростьПамятьHDСкоростьСчитЦена
11110010005005220000
22150020005005225000
331500200010004928000
462000250010005229000
592000300010005232000

Таблица Ноутбук:

codeНомерСкоростьПамятьHDЭкранЦена
17200020005121925000
2102000300010002435000

Таблица Принтер:

codeНомерЦветнойТипЦена
141Лазерный15000
25Струйный2000
38Лазерный4000

* При отсутствии возможности работы с phpMyAdmin, воспользуйтесь сервисом sql fiddle.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector