25
Введение Табличные базы данных SQL SELECT Реляционные базы данных Информатика 10-11 классы 14 ноября 2012 г. Информатика 10-11 классы Реляционные базы данных

Основы баз данных

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Основы баз данных

Введение Табличные базы данных SQL SELECT

Реляционные базы данных

Информатика10-11 классы

14 ноября 2012 г.

Информатика 10-11 классы Реляционные базы данных

Page 2: Основы баз данных

Введение Табличные базы данных SQL SELECT

Базы данных

С ростом количества информации возникают сложности сеё хранением и обработкой.Имея, к примеру, на компьютере один пароль, его легкозапомнить. Имея же их 100500, памяти уже может нехватить.Многие вещи сейчас мы уже и не стараемся запомнить.Например, кто из вас помнит наизусть мобильный телефонродителей? А друзей? А родственников?Для хранения и удобного доступа к информации давноиспользуются базы данных.

Информатика 10-11 классы Реляционные базы данных

Page 3: Основы баз данных

Введение Табличные базы данных SQL SELECT

Какие базы данных существуют?

телефонная книга,

журнал,список e-mail’ов,база данных жителей России (привет, ВКонтакте),тысячи их...

Информатика 10-11 классы Реляционные базы данных

Page 4: Основы баз данных

Введение Табличные базы данных SQL SELECT

Какие базы данных существуют?

телефонная книга,журнал,

список e-mail’ов,база данных жителей России (привет, ВКонтакте),тысячи их...

Информатика 10-11 классы Реляционные базы данных

Page 5: Основы баз данных

Введение Табличные базы данных SQL SELECT

Какие базы данных существуют?

телефонная книга,журнал,список e-mail’ов,

база данных жителей России (привет, ВКонтакте),тысячи их...

Информатика 10-11 классы Реляционные базы данных

Page 6: Основы баз данных

Введение Табличные базы данных SQL SELECT

Какие базы данных существуют?

телефонная книга,журнал,список e-mail’ов,база данных жителей России (привет, ВКонтакте),

тысячи их...

Информатика 10-11 классы Реляционные базы данных

Page 7: Основы баз данных

Введение Табличные базы данных SQL SELECT

Какие базы данных существуют?

телефонная книга,журнал,список e-mail’ов,база данных жителей России (привет, ВКонтакте),тысячи их...

Информатика 10-11 классы Реляционные базы данных

Page 8: Основы баз данных

Введение Табличные базы данных SQL SELECT

Типы баз данных и систембазы данных

Реляционная (табличная)ИерархическаяОбъектнаяСетевая

Информатика 10-11 классы Реляционные базы данных

Page 9: Основы баз данных

Введение Табличные базы данных SQL SELECT

Табличные базы данных

Информатика 10-11 классы Реляционные базы данных

Page 10: Основы баз данных

Введение Табличные базы данных SQL SELECT

Пример табличной базы данных

Имя Фамилия Телефон ГородВася Васильев 1234567 Санкт-ПетербургПетя Петров 2345678 Санкт-ПетербургФёдор Фёдоров 3456789 Москва

Информатика 10-11 классы Реляционные базы данных

Page 11: Основы баз данных

Введение Табличные базы данных SQL SELECT

Составные части

столбцы,строки (кортежи, записи)

Информатика 10-11 классы Реляционные базы данных

Page 12: Основы баз данных

Введение Табличные базы данных SQL SELECT

Пример реальной базы

Информатика 10-11 классы Реляционные базы данных

Page 13: Основы баз данных

Введение Табличные базы данных SQL SELECT

СУБД

СУБД (система управления базами данных) —совокупность программ, обеспечивающих управлениебазами данных.Есть множество СУБД: MySQL, PostgreSQL, Oracle, MSSQL Server, IBM DB2, Interbase, Microsoft Access и др.Здесь и далее мы будем в качестве основнойрассматривать СУБД MySQL.Тем не менее, мы будем использовать для работы с БДязык SQL 92, поэтому большая часть запросов будетприменима и для других SQL-ориентированных баз данных(например, PostgreSQL или MS SQL Server).MySQL: http://mysql.com (свободная СУБД)

Информатика 10-11 классы Реляционные базы данных

Page 14: Основы баз данных

Введение Табличные базы данных SQL SELECT

Основные типы данных

В MySQL существуют достаточно типов данных, мы жеперечислим основные:Название ПояснениеTINYINT Целое число от -128 до 127INT Целое число от -2147483648 до 2147483648FLOAT вещественное числоDOUBLE вещественное число повышенной точностиDATE датаDATETIME дата и времяTIMESTAMP кол-во секунд, прошедшее с 1970-01-01 00:00:00VARCHAR строка заданной длины (до 255 символов)TEXT текст

Информатика 10-11 классы Реляционные базы данных

Page 15: Основы баз данных

Введение Табличные базы данных SQL SELECT

SQLStructured Query Language

Информатика 10-11 классы Реляционные базы данных

Page 16: Основы баз данных

Введение Табличные базы данных SQL SELECT

Что такое SQL?

SQL — универсальный язык запросов к реляционнымбазам данных.SQL был разработан для выполнения следующихопераций:

1 создание новой таблицы,2 создание новой записи в таблице,3 изменение записей,4 удаление записей,5 выборка записей из одной или нескольких таблиц,6 изменение структуры таблицы.

Информатика 10-11 классы Реляционные базы данных

Page 17: Основы баз данных

Введение Табличные базы данных SQL SELECT

Первичный ключ

Прежде чем перейти непосредственно к языку, укажемнесколько полезных правил (по-хорошему, это называетсянормальными формами).Записи в таблице должны отличаться друг от друга.Уникальное поле или набор полей, отличающее однузапись от другой, называется первичным ключом.Вводя первичный ключ, мы должны быть уверены в егонадёжности. Например, имя и фамилия — плохиепервичные ключи, так как умеют повторяться.А вот номер паспорта — отличный первичный ключ.Часто поступают ещё проще: вводят специальный столбецid, который содержит номер записи, которыйпоследовательно увеличивается.

Информатика 10-11 классы Реляционные базы данных

Page 18: Основы баз данных

Введение Табличные базы данных SQL SELECT

Тестовая таблица users

id first_name last_name gender created_at1 Ivan Ivanov 1 2012-01-012 Sasha Petrov 1 2012-01-023 Masha Mashakova 2 2012-01-014 Sasha Simonov 1 2012-05-15 Sidor Sidorov 1 2012-07-016 Sasha Pimenova 2 2012-04-02

Информатика 10-11 классы Реляционные базы данных

Page 19: Основы баз данных

Введение Табличные базы данных SQL SELECT

Оператор SELECT

Оператор SELECT позволяет сделать выборку записей избазы данных.Синтаксис:

Listing 1: Синтаксис SELECT

SELECT %f i e l d s% FROM %tab l e%WHERE %con d i t i o n s%ORDER BY %f i e l d s% ASC/DESCLIMIT %l i m i t%, %o f f s e t%

limit — сколько брать записей, offset — начиная с какой?

Информатика 10-11 классы Реляционные базы данных

Page 20: Основы баз данных

Введение Табличные базы данных SQL SELECT

Пример запроса

id first_name last_name gender created_atВыведем на экран имена и фамилии всех мужчин:

Listing 2: SELECT

SELECT f i r s t_name , last_name FROM u s e r sWHERE ( gender = 1)

Информатика 10-11 классы Реляционные базы данных

Page 21: Основы баз данных

Введение Табличные базы данных SQL SELECT

Пример запроса с двумя условиями

id first_name last_name gender created_atВыведем на экран список всех Саш–мужчин:

Listing 3: SELECT

SELECT ∗ FROM u s e r sWHERE ( gender = 1) AND ( f i r s t_name = "Sasha" )

Информатика 10-11 классы Реляционные базы данных

Page 22: Основы баз данных

Введение Табличные базы данных SQL SELECT

Первая зарегистрированная женщина

id first_name last_name gender created_atА если мы хотим вывести первую зарегистрированнуюженщину?

Listing 4: SELECT

SELECT ∗ FROM u s e r sWHERE ( gender = 2)ORDER BY c rea ted_atLIMIT 1

Информатика 10-11 классы Реляционные базы данных

Page 23: Основы баз данных

Введение Табличные базы данных SQL SELECT

Первая зарегистрированная женщина

id first_name last_name gender created_atА последнего мужчину?

Listing 5: SELECT

SELECT ∗ FROM u s e r sWHERE ( gender = 1)ORDER BY c rea ted_at DESCLIMIT 1

Информатика 10-11 классы Реляционные базы данных

Page 24: Основы баз данных

Введение Табличные базы данных SQL SELECT

Первая зарегистрированная женщина

id first_name last_name gender created_atА предпоследнего?

Listing 6: SELECT

SELECT ∗ FROM u s e r sWHERE ( gender = 2)ORDER BY c rea ted_at DESCLIMIT 1 , 1

Информатика 10-11 классы Реляционные базы данных

Page 25: Основы баз данных

Введение Табличные базы данных SQL SELECT

Тестовая таблица courses

id title desc type is_active created_at updated_at1 Ruby ... 1 1 2012-01-01 2012-01-012 Info ... 0 0 2012-01-02 2012-02-013 Google ... 1 0 2012-03-25 2012-05-284 Test ... 0 1 2012-03-25 2012-11-13

Информатика 10-11 классы Реляционные базы данных