1 / 39

Высокоуровневые методы информатики и программирования Лекция 26

Высокоуровневые методы информатики и программирования Лекция 26. Введение в р аботу с базами данных. Упрощенная схема работы программы. Данные программы. Данные программы. Программа. пользователь. Способ хранения данных. Способы хранения данных В файлах собственной структуры

bunny
Download Presentation

Высокоуровневые методы информатики и программирования Лекция 26

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Высокоуровневые методы информатики и программирования Лекция 26 Введение в работу с базами данных

  2. Упрощенная схема работы программы Данные программы Данные программы Программа пользователь

  3. Способ хранения данных Способы хранения данных • В файлах собственной структуры • В файлах базы данных База данных – специальный способ хранения данных, который имеет: • Структуру данных (модели данных) – сетевые, реляционные, объектные; • Специальные программы доступа к данным в базе данных - СУБД; • Универсальный язык общения с реляционными базами данных – SQL.

  4. База данных • Набор файлов (или отдельный файл) включающий • множество разнотипных данных пользователя (описанных в виде схемы базы данных) • программные модули работы с ними. • другую сервисную информацию.

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

  6. Почему лучше хранить данные в базе данных? • появляется возможность многократного использования данных разными программами (данные становятся важнее программ) • есть программы для просмотра и корректировки данных (СУБД, в противном случае надо делать это самому). • Microsoft Office Access (для баз данных Access ) • Enterprise Manager (для баз данных SQL Server) • серверная поддержка работы с базами данных • создание копий (обеспечение сохранности) • обработка транзакций (выполнение группы операций только целиком) • коллективное использование (удаленный доступ) • частичное выполнение программы на сервере (хранимые процедуры) • в информационной системе данные общие, используются разными программами (бухгалтерские, отдел кадров, склад, планирование) • возможности выполнения различных операций над данными • выборка требуемых данных • поиска в данных • …

  7. Работа с файлами Директор Бухгалтер Продавец Снабженец     Программа Программа Программа Программа Файл Файл Файл Файл Локальные приложения

  8. Работа с базой данных Снабженец Директор Бухгалтер Продавец     Программа Программа Программа Программа СУБД Распределенная программная система База данных

  9. Типы СУБД • Файловые СУБД – поддерживают индивидуальное взаимодействие программы с базой данных (например, dBase3, FoxBase, Paradox, Access и др.) • Серверные СУБД – поддерживают коллективную работу множества программ с базой данных по технологии клиент/сервер (например, Oracle, SQL Server и др.).

  10. Файловые базы данных Компьютер пользователя Пользователь Файл База данных Программа

  11. Серверные базы данных(архитектура клиент/сервер) Компьютеры - клиенты Компьютер - сервер Программа Пользователь SQL запросы Программа Сервер БД Программа

  12. Типы SQL серверов • Oracle (Oracle) • SQL Server (Microsoft) • Sybase SQL Server • IBM DB2 • Watcom SQL • MySQL server • Informix • Ingres • ….

  13. Структура приложений уровня предприятия (enterprise application) Уровень интерфейса пользователя Уровень бизнес-логики Уровень доступа к БД База данных системы

  14. Типы организации баз данных • Иерархические • Сетевые • Реляционные • Объектно-ориентированные

  15. Реляционные базы данных Таблицы(Tables) • Таблица • Набор данных о объектах одного вида • Организованы в виде строк и столбцов • Столбцы (поля, column) • Описывают одно свойство объекта (e.g. FirstName) • Имеют определенный тип (e.g. integer, character, binary) • Могут иметь значение null – отсутствие • Строка (запись, record, row) • Описание одного объекта в таблице • Каждая строка уникальна, не может повторяться

  16. Связывание данных (Relating Data) • Таблицы могут быть связаны с помощью первичного/внешнего (primary/foreign)ключей (e.g., a book has an author – книга имеет автора) • Первичный ключ (Primary key ) • Гарантирует уникальность строки • Может включать несколько столбцов • Обеспечивает целостность БД • Внешний(Foreign key) • Устанавливает логические связи между таблицами • Один или более столбец таблицы, которые соответствуют первичному ключу другой таблицы • Обеспечивают ссылочную целостность БД

  17. Связывание данных • Диаграмма показывает таблицы, столбцы, и первичные и внешние ключи 1 ∞ Диаграмма схемы

  18. Связывание данных Books Table Первичные ключи (PK) PK/FK Связь ключей Внешний ключ (FK) Authors Table

  19. Язык SQL(Structured Query Language) • Язык запросов к реляционным СУБД, включает • операторы определения данных (Data Definition Language, DDL) • добавление таблиц • задание связей • удаление таблиц • операторы манипуляции данными (Data Manipulation Language, DML) • вставка новых данных • выборка по заданным условиям • обновление имеющихся данных • удаление имеющихся данных • операторы управления доступом к данным (Data Control Language, DCL)

  20. Оператор Select SELECT * | { [ DISTINCT | ALL ] { Поле данных} [,...] } FROM { таблица [ псевдоним ] } [,...] [ WHEREусловие ] [ GROUP BY { поле | Integer } [,...] ] [ ORDER BY { поле | Integer [ ASC|DESC ] } [,...] ]

  21. Оператор Select SELECT * FROMtable1 - вернуть все поля и все записи таблицы table1 SELECTid, nameFROMtable1WHEREid<10 - вернуть поля id и name из таблицы table1 для которых значение поля id меньше 10.

  22. Пример выборки данных из БД SELECT * FROM Сhilds SELECT Name, Year, Address FROM Childs SELECT Name, Year, Address FROM Childs WHERE ClassId = 2

  23. Изменение данных в БД • Вставка (Insert), изменение (update) и удаление (delete) данных INSERT INTO Childs (Name, Year, Address) VALUES (‘Peterson J.’, 1986, ‘Tomsk Lenina, 30, 213’) UPDATE childs SET id = 27 WHERE year = 1997 DELETE FROM Childs WHERE ID = 5

  24. Хранимые процедуры(Stored Procedures) • Последовательность SQL операторов которые выполняются в базе данных • Не включены в стандарт SQL • Обеспечивают лучшую производительность • Могут контролировать доступ к данным • Могут принимать параметры • Могут возвращать данные • Выходные параметры (Output parameters) • Возвращаемое значение (Return value) • Результирующая выборка (Result set)

  25. Пример хранимой процедуры CREATE PROCEDURE CustOrderHist @CustomerID nchar(5) AS SELECT ProductName, Total=SUM(Quantity) FROM Products P, [Order Details] OD, Orders O, Customers C WHERE C.CustomerID = @CustomerID AND C.CustomerID = O.CustomerID AND O.OrderID = OD.OrderID AND OD.ProductID = P.ProductID GROUP BY ProductName

  26. Объектно-реляционное связывание (проекция) • object-relational mapping (O/RM, ORM, and O/R mapping). • технология программирования для преобразования данных между несовместимыми системами типов в реляционной базе данных и объектно-ориентированных языках программирования, что создает эффект «виртуальной объектной базы данных», которая может использоваться в языке программирования. Существуют как коммерческие, так и свободные пакеты для выполнения объектно-реляционного связывания (en. Wikipedia.org).

  27. SQL Server Express • Сервер для обучения и разработки • Программа установки - SQLEXPR.EXE • Программа управления сервером Server Management Studio Express - SQLServer2005_SSMSEE.msi

  28. Настройка работы Visual Studio c SQL Server Express • SQL Server Configuration Manager • запуск • протоколы взаимодействия • SQL Server Surface Area Configuration • разрешение на удаленное использование • Visual Studio • <сервер>\sqlexpress

  29. Проверка выполнения сервера

  30. Задание протоколов клиентов

  31. Задание протоколов сервера

  32. SQL Server Management Studio Express

  33. Утилита настройки удаленных соединений

  34. Задание удаленного соединения с SQL Server

  35. Запуск SQLBrowser

  36. Настройка Брандмауэра

  37. Настройка Брандмауэра

  38. Настройка режима подключения к серверу

  39. Создание соединения с SQL Server • Задание имени сервера – если на компьютере разработчика, то – localhost/sqlexpress • Выбор используемой БД • Проверка соединения с БД

More Related