Базы данных уроки
Урок 1
Тема урока: Базы данных и системы управления базами данных.
· познакомить учащихся с понятиями: информационно-поисковая система, база данных, СУБД, с основными типами (моделями) БД;
· развивать мировоззрение, то есть способствовать формированию взглядов на окружающий мир, на вклад человека в структурирование информации;
· воспитывать устойчивый познавательный интерес к предмету информатика.
Тип урока: урок изучения нового материала.
Вид урока: комбинированный.
Объяснение нового материала – фронтальная работа
Практическая работа – индивидуальная работа.
Мои документыПрактика Базы Данных Урок 1 Задания 1,2,3 в формате MS Word
Программное обеспечение: Microsoft Word.
Объяснение нового материала.
Закрепление знаний – самостоятельная работа на компьютере.
I. Организационный момент. Приветствие учащихся.
Вступительное слово учителя.
Картонных папок стеллажи – былого века залежи.
Цель базы данных — помочь людям и организациям вести учет определенных вещей. На первый взгляд, эта цель кажется скромной, и вы, возможно, удивитесь, зачем нам нужна такая сложная технология и целая тема, посвященная этому вопросу.
На самом деле до 80 % людей использующих компьютер в своей профессиональной деятельности имеют дело именно с базами данных. Простейшей базой данных можно считать телефонный справочник или классный журнал.
Представьте себе, что вы руководитель или бухгалтер большого предприятия, где работают сотни сотрудников…
Кто из вас знает, а как раньше хранились данные о сотрудниках некоторого коллектива? (В картотеках: в виде выдвижных ящиков, где в алфавитном порядке стояли личные дела сотрудников.). С появлением компьютеров люди стали задумываться, а как бы занести в память компьютера данные и потом с ними работать (осуществлять поиск, дополнять и изменять сведения). И были созданы специальные программы, которые позволяли осуществить все эти операции. Они получили название – информационно-поисковые системы.
Сейчас они применяются во всех отраслях человеческой деятельности: в банках, магазинах, аптеках, библиотеках и так далее.
В крупном магазине, продавец не отправляется на склад за заказом, а подходит к компьютеру и проверяет его наличие в базе данных. Мы не представляем себе современные авиа и железнодорожных кассы без компьютерных баз данных, которые работают в режиме реального времени.
II. Объяснение нового материала
Современные базы данных оперируют информацией, представленной в самом разном формате, — от обычных чисел и текста до графических и видеоданных.
База данных — большая, специально организованная совокупность данных ;
База данных помогает систематизировать и хранить информацию из определенной предметной области, облегчает доступ к данным, поиск и предоставление необходимых сведений.
Информационно-поисковая система – это система, где хранится информация, из которой по требованию пользователя выдается нужная информация, поиск которой осуществляется либо вручную, либо автоматически (определение записать в тетрадь).
Информационно-поисковая система состоит из двух частей:
База данных — большая, специально организованная совокупность данных ;
СУБД — программа, позволяющая оперировать этими данными (записать в тетрадь).
Сама по себе БД содержит только информацию – «Информационный склад» –и не может обслуживать запросы пользователя на поиск и обработку информации. Обслуживание пользователя осуществляет СИСТЕМА УПРАВЛЕНИЯ БАЗОЙ ДАННЫХ
. СУБД – Это ПО, которое позволяет создавать БД, обновлять и дополнять информацию, обеспечивать гибкий доступ к информации.
СУБД создает на экране компьютера определенную среду для работы пользователя (интерфейс), и имеет определенные режимы работы и систему команд. Именно на основе СУБД создаются и функционируют информационно-поисковые системы(WWW).
БД классифицируются: по характеру хранимой информации, по способу хранения данных, по структуре организации данных
1. по характеру хранимой информации
а) фактографические (краткая информация в одном формате: картотека)
б) документальная (всевозможные документы – тексты, графика, видео, звук и т. д.: архив)
а) централизованные (вся информация хранится на одном компьютере – на сервере)
б) распределенные (информация хранится в локальной или глобальной сети)
3. по структуре организации данных
а) реляционная – табличная (используется наиболее часто и является универсальным)
1. Иерархические. Существует строгая подчиненность элементов: один главный, остальные подчиненные. Например, система каталогов на диске.
2. Сетевая БД более гибкая: нет явно выраженного главного элемента и в ней существует возможность установления горизонтальных связей. Например, организация информации в Интернете (WWW).
3. Реляционная СУБД. Реляционной (от английского “relation”- отношение) называется БД, которая содержит информацию, организованную в виде прямоугольной таблицы
Задание. На доске приведена некоторая совокупность данных. Какую полезную для вас информацию вы можете извлечь из нее?
1, 3, 5; ТУ-154; Тюмень; 4, 7; Москва; 8-40; АН-24; Ижевск; 16-20; ТУ-134;320; 308; 3107; 17-35; 1, 3, 5, 7.
– В этой совокупности данных, конечно, можно понять, что речь идет о вылетах самолетов, но в какой день, в какое время и т. д. узнать невозможно. Если же эти данные структурировать, то получим полную информацию о вылетах самолетов.
Урок 1. Видеокурс по базе данных MySQL
Дата публикации: 02-01-2013
От автора: этим уроком мы открываем видеокурс по изучению языка запросов SQL и сервера базы данных MySQL. В первом уроке видеокурса MySQL, будут рассмотрены такие вещи, как настройка сервера, запуск сервера из консоли, работа с веб-приложением phpMyAdmin и многое другое. Также в уроке рассмотрено понятие реляционных баз данных и их особенности.
По результатам урока мы максимально удобно настроим сервер для последующей работы. Познакомимся с веб-приложением phpMyAdmin, детальнее рассмотрим работу с его функционалом. А также в видеокурсе MySQL, узнаем особенности реляционных баз данных.
Все уроки курса:
Комментарии (24)
перезалейте архив повреждён
Здравствуйте.
Только что скачал и распаковал архив, так что с ним все в порядке. Попробуйте обновить архиватор, поскольку ошибка о повреждении архива характерна для старых версий архиваторов.
Здравствуйте, Андрей. Занимался по Вашим урокам, всё изложено подробно и доходчиво. Спасибо.
Пожалуйста, Роман
Здравствуйте.
А как у себя в компьютере создать сервер — вы подробно объясняете как его вызвать, а как на диске С его получить — нет этого момента
Здравствуйте.
В сети можно найти много различных вариантов локального сервера: Denwer, XAMPP, WampServer… Наиболее удобный — Open Server, вот урок по его установке.
Работаю с БД, создала таблицы, но когда стала прописывать в mes_categories — имя на русском, то выдает ошибку. А на английском — нет. В вашем случае все проходит на русском языке в name (Т.е прописываю род. категории — у вас это ДОм, Сад и огород) Что можно сделать и почему так?
заменила на UTF8 cp1250_general_ci — прошло
Здравствуйте!Вы показываете как в командной строке прописать в Denver с базой данных MySQL а как прописать в Open Server? правильно…в видео уроке по установке Open Serve Вы не касаетесь работы с командной строкой.Как прописать в командную строку на Open Server для корректной работы?консолька там изначально добавлена,как её правильно использовать что бы там чего не сломать…
Здравствуйте.
Когда я записывал уроки по MySQL был популярен Denwer, а об Open Server мало кто знал. Именно поэтому я и использовал Denwer, а не Open Server. Да и невозможно показать что-то во всех возможных средах. То же самое относится и к уроку по Open Server. Я не касаюсь всех возможностей, поскольку на это не хватит одного урока. И двух не хватит… Урок призван дать быстрый старт. Показать, как установить сервер и научить работать с ним, работать с типовыми задачами. Если же Вы хотите узнать тонкости работы с сервером и больше о его возможностях, тогда для этого есть документация на официальном сайте.
Если Вы хотите использовать консоль, тогда в Open Server все еще проще. Никаких настроек прописывать не нужно совсем, просто открываете консоль и сразу же прописываете команду:
mysql -u root
После чего происходит соединение с сервером и можно работать дальше точно так же, как и в уроке. Вместо консоли я рекомендовал бы использовать HeidiSQL из комплекта Open Server.
Огромное спасибо. Как всегда исчерпывающий ответ.Я так и подумал,что в Open Server как то проще всё в работе в консоли должно прописываться.Там в документации вроде написано,но лучше у Вас уточнить.Огромное спасибо что указали как!Учимся дальше.
Создание базы данных в MS Access 2007: пошаговая инструкция
В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в Excel или Word.
Подобные хранилища используются для разработки информационных сайтов, интернет-магазинов и бухгалтерских дополнений. Основными средствами, реализующими данный подход, являются MS SQL и MySQL.
Продукт от Microsoft Office представляет собой упрощенную версию в функциональном плане и более понятную для неопытных пользователей. Давайте рассмотрим пошагово создание базы данных в Access 2007.
Описание MS Access
Microsoft Access 2007 – это система управления базами данных (СУБД), реализующая полноценный графический интерфейс пользователя, принцип создания сущностей и связей между ними, а также структурный язык запросов SQL. Единственный минус этой СУБД – невозможность работать в промышленных масштабах. Она не предназначена для хранения огромных объемов данных. Поэтому MS Access 2007 используется для небольших проектов и в личных некоммерческих целях.
Но прежде чем показывать пошагово создание БД, нужно ознакомиться с базовыми понятиями из теории баз данных.
Определения основных понятий
Без базовых знаний об элементах управления и объектах, использующихся при создании и конфигурации БД, нельзя успешно понять принцип и особенности настройки предметной области. Поэтому сейчас я постараюсь простым языком объяснить суть всех важных элементов. Итак, начнем:
- Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
- Сущность – отдельная таблица базы данных.
- Атрибут – заголовок отдельного столбца в таблице.
- Кортеж – это строка, принимающая значение всех атрибутов.
- Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
- Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
- SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.
Теперь, когда в общих чертах есть представление о том, с чем мы будем работать, можно приступить к созданию БД.
Создание БД
Для наглядности всей теории создадим тренировочную базу данных «Студенты-Экзамены», которая будет содержать 2 таблицы: «Студенты» и «Экзамены». Главным ключом будет поле «Номер зачетки», т.к. данный параметр является уникальным для каждого студента. Остальные поля предназначены для более полной информации об учащихся.
Итак, выполните следующее:
- Запустите MS Access 2007.
- Нажмите на кнопку «Новая база данных».
- В появившемся окне введите название БД и выберите «Создать».
Все, теперь осталось только создать, заполнить и связать таблицы. Переходите к следующему пункту.
Создание и заполнение таблиц
После успешного создания БД на экране появится пустая таблица. Для формирования ее структуры и заполнения выполните следующее:
- Нажмите ПКМ по вкладке «Таблица1» и выберите «Конструктор».
- Теперь начинайте заполнять названия полей и соответствующий им тип данных, который будет использоваться.
Создание и редактирование схем данных
Перед тем, как приступить к связыванию двух сущностей, по аналогии с предыдущим пунктом нужно создать и заполнить таблицу «Экзамены». Она имеет следующие атрибуты: «Номер зачетки», «Экзамен1», «Экзамен2», «Экзамен3».
Для выполнения запросов нужно связать наши таблицы. Иными словами, это некая зависимость, которая реализуется с помощью ключевых полей. Для этого нужно:
- Перейти во вкладку «Работа с базами данных».
- Нажать на кнопку «Схема данных».
- Если схема не была создана автоматически, нужно нажать ПКМ на пустой области и выбрать «Добавить таблицы».
- Выберите каждую из сущностей, поочередно нажимая кнопку «Добавить».
- Нажмите кнопку «ОК».
Конструктор должен автоматически создать связь, в зависимости от контекста. Если же этого не случилось, то:
- Перетащите общее поле из одной таблицы в другую.
- В появившемся окне выберите необходимы параметры и нажмите «ОК».
- Теперь в окне должны отобразиться миниатюры двух таблиц со связью (один к одному).
Выполнение запросов
Что же делать, если нам нужны студенты, которые учатся только в Москве? Да, в нашей БД только 6 человек, но что, если их будет 6000? Без дополнительных инструментов узнать это будет сложно.
Именно в этой ситуации к нам на помощь приходят SQL запросы, которые помогают изъять лишь необходимую информацию.
Виды запросов
SQL синтаксис реализует принцип CRUD (сокр. от англ. create, read, update, delete — «создать, прочесть, обновить, удалить»). Т.е. с помощью запросов вы сможете реализовать все эти функции.
На выборку
В этом случае в ход вступает принцип «прочесть». Например, нам нужно найти всех студентов, которые учатся в Харькове. Для этого нужно:
- Перейти во вкладку «Создание».
- Нажать кнопку «Конструктор запросов» в блоке «Другие».
- В новом окне нажмите на кнопку SQL.
- В текстовое поле введите команду: SELECT * FROM Студенты WHERE Адрес = «Харьков»; где «SELECT *» означает, что выбираются все студенты, «FROM Студенты» — из какой таблицы, «WHERE Адрес = «Харьков»» — условие, которое обязательно должно выполняться.
- Нажмите кнопку «Выполнить».
- На выходе мы получаем результирующую таблицу.
А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 1000? Тогда наш запрос будет выглядеть следующим образом:
SELECT * FROM Студенты WHERE Адрес = «Харьков» AND Стипендия > 1000;
а результирующая таблица примет следующий вид:
На создание сущности
Кроме добавления таблицы с помощью встроенного конструктора, иногда может потребоваться выполнение этой операции с помощью SQL запроса. В большинстве случаев это нужно во время выполнения лабораторных или курсовых работ в рамках университетского курса, ведь в реальной жизни необходимости в этом нет. Если вы, конечно, не занимаетесь профессиональной разработкой приложений. Итак, для создания запроса нужно:
- Перейти во вкладку «Создание».
- Нажать кнопку «Конструктор запросов» в блоке «Другие».
- В новом окне нажмите на кнопку SQL, после чего в текстовое поле введите команду:
CREATE TABLE Преподаватели
(КодПреподавателя INT PRIMARY KEY,
Фамилия CHAR(20),
Имя CHAR (15),
Отчество CHAR (15),
Пол CHAR (1),
Дата_рождения DATE,
Основной_предмет CHAR (200));
где «CREATE TABLE» означает создание таблицы «Преподаватели», а «CHAR», «DATE» и «INT» — типы данных для соответствующих значений.
- Кликните по кнопке «Выполнить».
- Откройте созданную таблицу.
На добавление, удаление, редактирование
Здесь все гораздо проще. Снова перейдите в поле для создания запроса и введите следующие команды:
- для заполнения кортежа:
INSERT INTO Преподаватели
VALUES (1, ‘Иванова’, ‘Иванна’, ‘Ивановна’, ‘Ж’, ’05-06-1981′, ‘География’); - для редактирования записи:
UPDATE Преподаватели SET Имя = ‘Анна’; - для удаления:
DELETE * FROM Преподаватели WHERE Имя=’Анна’;.
Создание формы
При огромном количестве полей в таблице заполнять базу данных становится сложно. Можно случайно пропустить значение, ввести неверное или другого типа. В данной ситуации на помощь приходят формы, с помощью которых можно быстро заполнять сущности, а вероятность допустить ошибку минимизируется. Для этого потребуются следующие действия:
- Откройте интересующую таблицу.
- Перейдите во вкладку «Создание».
- Нажмите на необходимый формат формы из блока «Формы».
Все базовые функции MS Access 2007 мы уже рассмотрели. Остался последний важный компонент – формирование отчета.
Формирование отчета
Отчет – это специальная функция MS Access, позволяющая оформить и подготовить для печати данные из базы данных. В основном это используется для создания товарных накладных, бухгалтерских отчетов и прочей офисной документации.
Если вы никогда не сталкивались с подобной функцией, рекомендуется воспользоваться встроенным «Мастером отчетов». Для этого сделайте следующее:
- Перейдите во вкладку «Создание».
- Нажмите на кнопку «Мастер отчетов» в блоке «Отчеты».
- Выберите интересующую таблицу и поля, нужные для печати.
- Добавьте необходимый уровень группировки.
- Выберите тип сортировки каждого из полей.
- Настройте вид макета для отчета.
- Выберите подходящий стиль оформления.
Если отображение вас не устраивает, его можно немного подкорректировать. Для этого:
- Нажмите ПКМ на вкладке отчета и выберите «Конструктор».
- Вручную расширьте интересующие столбцы.
- Сохраните изменения.
Вывод
Итак, с уверенностью можно заявить, что создание базы данных в MS Access 2007 мы разобрали полностью. Теперь вам известны все основные функции СУБД: от создания и заполнения таблиц до написания запросов на выборку и создания отчетов. Этих знаний хватит для выполнения несложных лабораторных работ в рамках университетской программы или использования в небольших личных проектах.
Для проектирования более сложных БД необходимо разбираться в объектно-ориентированном программировании и изучать такие СУБД, как MS SQL и MySQL. А для тех, кому нужна практика составления запросов, рекомендую посетить сайт SQL-EX, где вы найдете множество практических занимательных задачек.
Удачи в освоении нового материала и если есть какие-либо вопросы – милости прошу в комментарии!
Реляционные базы данных для чайников
Как правило, любое веб приложение можно разделить на 2 основные части: фронт-энд, где отображается вся информация сайта, и бэк-энд, где данная информация формируется и размещается. В этой статье мы поговорим о том, что такое реляционные базы данных, и как их проектировать.
База данных хранит записи в специально организованном виде, чтобы информацию можно было легко найти и извлечь. Любая БД состоит из одной или нескольких таблиц. Электронная таблица состоит из строк и столбцов. Все строки имеют одинаковые столбцы, а каждый столбец содержит данные. В общем, для лучшего понимания, определимся, что таблицы в БД очень похожи на те, что вы видели в Excel-е.
Табличные данные могут быть вставлены, восстановлены, обновлены и удалены. Для пакета этих операций была создана специальная аббревиатура CRUD (Create-Read-Update-Delete).
Реляционные базы данных — это базы, где вся информация хранится в таблицах, связанных друг с другом специальными отношениями. Эти отношения позволяют нам извлекать и объединять данные из одной или нескольких таблиц с помощью одного запроса.
Но всё это всего лишь слова. Для того чтобы действительно понять, что такое реляционные базы данных, вам нужно больше практиковаться. Давайте же начнём и посмотрим, с какими данными нам предстоит работать.
Шаг 1. Подготовка данных
Для того чтобы нам было с чем работать, я набрал в твиттере запрос “#databases” и сформировал таблицу из 10 записей:
Таблица 1
В первую очередь, давайте разберёмся с колонками:
- full_name: имя пользователя
- username: логин в Twitter-е
- text: текст твита
- created_at: время создания твита
- following_username: список пользователей, разделённых запятыми, которые подписались на этот твитт. Для краткости я сократил этот список до 2 имён.
Это реальные данные. Если хотите, вы можете их найти и обновить.
Хорошо. Теперь все наши данные находятся в одном месте. Даёт ли это нам возможность легко осуществить поиск по ним? Не совсем. Данная таблица далека от идеала. Во-первых, в некоторых столбцах у нас есть повторяющиеся записи: к примеру, в х “username” и “following_username”. Также колонка “following_username” нарушает правила реляционных моделей, т.к. её в ячейках присутствует более 1 значения (записи разделены запятыми).
К тому же у нас попадаются дубликаты и в строках.
Повторяющиеся данные действительно являются проблемой, т.к. они затрудняют процесс CRUD. К примеру, при поиске по данной таблице на обработку дубликатов будет уходить дополнительное время. К тому же, если пользователь обновит твитт, то нам нужно будет перезаписать все дубликаты.
Решение данной проблемы заключается в разделении Таблицы 1 на несколько таблиц. Давайте примемся за решение первой проблемы, а именно — устранение дубликатов в столбцах.
Шаг 2. Избавляемся от дубликатов в столбцах
Как было оговорено выше, столбцы “username” и “following_username” содержат дубликаты данных. Они возникли в результате того, что я хотел отобразить отношения между твиттами и пользователями. Давайте улучшим нашу структуру БД, разделив существующую таблицу на две: в одной будем хранить информацию, а в другой — отношения между записями.
Поскольку @Brett_Englebert подписан на @RealSkipBayless, то в таблице “following” отобразим это следующим образом: имя @Brett_Englebert поместим в колонку “from_user”, а @RealSkipBayless в “to_user.” Давайте посмотрим, как будет выглядеть таблица “following” после разделения Таблицы 1:
Таблица 2. following
Таблица 3. users
Уже лучше. Теперь в таблице “users” (Таблица 3) у нас хранится только информация о твиттах, а в таблице following (Таблица 2) — зависимость пользователей.
Основатель теории реляционных баз данных, Эдгар Кодд, назвал бы этот процесс (удаления повторений из столбцов таблиц) приведением БД к первой нормальной форме.
Шаг 3. Удаление повторений из строк
Теперь мы займёмся устранением других проблем, а именно, избавимся от дубликатов в строках таблицы “users”. Поскольку пользователи @AndyRyder5 и @Brett_Englebert разместили по несколько твиттов, то их имена в таблице “users” (Таблица 3) дублируются в колонке full_name. Данная проблема также решается разделением таблицы “users”.
Поскольку текст твитта и время его создания являются уникальными данными, то их мы поместим в одну и ту же таблицу. Также нам нужно указать связь между твитами и пользователями. Для этого я создал специальный столбец username.
Таблица 4. tweets
Таблица 5. users
После разделения в таблице users (Таблица 5) у нас присутствуют уникальные (не повторяющиеся) строки.
Данный процесс удаления дубликатов из строк называется приведением ко второй нормальной форме.
Шаг 4. Объединяем таблицы на основе ключей
Итак, в результате наших действий, Таблица 1 была разбита на 3 части: following (Таблица 2), tweets (Таблица 4), users (Таблица 5). Все дубликаты устранены. Для того чтобы в дальнейшем мы могли с лёгкостью извлекать данные из этой структуры, независимые друг от друга таблицы мы должны связать специальными отношениями, которые будут давать нам информацию о том, какому пользователю принадлежит какой твит, и кто на кого подписан.
Для создания связей между записями нам необходимо ввести уникальный идентификатор, который называется первичный ключ.
Вообще говоря, в Таблице 4 и 5 мы уже это сделали. В таблице “users” первичным ключом является колонка “username”, потому что логин пользователя должен быть уникальным значением и не может повторяться. В таблице “tweets” мы используем данный ключ для обозначения связи между пользователем и твитом. Колонка “username” в таблице “tweets” называется внешним ключом.
Если вы когда-то работали с базами данных, то у вас может возникнуть вопрос: можем ли мы использовать колонку “username” в качестве первичного ключа?
С одной стороны, это может упростить процесс поиска, ведь мы не используем никаких числовых ID. С другой стороны, что если пользователь захочет поменять свой логин? Это может привести к огромному количеству проблем. Для того чтобы не попасть в подобную ситуацию, лучше воспользоваться числовыми ID. Всё зависит от вашей системы. Если вы предоставляете вашим пользователям возможность менять логины, то лучше в качестве первичного ключа использовать автоинкрементированное числовое поле ID. В противном случае, колонка “username” вполне подойдёт для этой роли. Я оставлю всё как есть.
Давайте посмотрим на таблицу tweets (Таблица 4). Первичный ключ должен быть уникальным для каждой строки. Какую колонку в данной таблице мы можем выбрать для этой роли? Колонка “created_at” не подойдёт, т.к. в принципе 2 разных пользователя могут в одно и то же время опубликовать запись. С колонкой “text” та же история: два разных пользователя могут создать твит с текстом “Hello World”. Колонка “username” в данной таблице является внешним ключом для обозначения связи между пользователем и твитом. Итак, поскольку все возможные варианты нам не подходят, то лучшим решением будет добавление колонки id, которая будет первичным ключом для данной таблицы.
Таблица 6. tweets с колонкой id