Три способа организации доступа к базе данных через: 1.Запуск PostgreSQL интерактивной терминальной программы, называемые PSQL, который позволяет интерактивно.

Презентация:



Advertisements
Похожие презентации
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
Advertisements

БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.
CREATE TABLE Ident_table ( ID int IDENTITY(1, 1), some_values varchar(50)); IDENTITY [ ( seed, increment ) ]
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
1 Часть II. Лекция 4. © Куркурин Николай Дмитриевич. (906)
1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
Объединение таблиц Подзапросы. Оператор SELECT дает возможность выборки информации сразу из нескольких таблиц, которые перечислены в списке FROM. Такая.
Создание Web страниц Урок 12: PHP & MySQL Павел Бочаров.
Язык SQL Типы данных SQL Типы данных, используемые в стандартном SQL, можно подразделить на следующие группы: строковые типы; числовые типы; типы для представления.
Создание таблиц. А.М. Гудов 2Заключение Имеется несколько способов соединения таблиц: –Эквисоединение –Не-эквисоединение –Внешнее соединение –Соединение.
Реляционные базы данных N-арное отношение – подмножество декартова произведения N множеств возможных значений (доменов, типов данных, атрибутов) Изображение.
1 Лекция 6 Команды категории извлечения данных языка структурированных запросов SQL План лекции Выборка определенных столбцов таблицы Устранение избыточных.
Разработка телекоммуникационной и информационной системы для прогнозирования аварий и катастроф на НПЗ.
Система контроля прав доступа При помощи процедур и триггеров в MySQL.
Лекция 10. Запросы определения данных (DDL). Свойства столбцов и таблиц. На основе запроса выборки можно построить представление. В SQL представление является.
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
Транксрипт:

Три способа организации доступа к базе данных через: 1.Запуск PostgreSQL интерактивной терминальной программы, называемые PSQL, который позволяет интерактивно вводить, редактировать и выполнять SQL команд. 2.Использование графического интерфейса, как инструмент PgAdmin или офисного пакета с ODBC или JDBC поддержки для создания и управления базой данных. 3.Использование специальных приложений, написанных на одном из нескольких доступных языков связи. PostgreSQL сервер может управлять несколькими базами данных. Администратор сервера может создать новую базу данных: # CREATEDB Имя-Базы-Данных или CREATE DATABASE Имя-Базы-Данных # - как администратор $ CREATEDB MyDB $ - как клиент(пользователь) СУБД PostgreSQL включает сервер, который выполняет всю работу, и командную оболочку, позволяющую подключаться к серверу. По умолчанию сервер прослушивает порт 5432, к которому можно подключиться и из оболочки psql. \h – информация о формате командах SQL или \h SQL-команда \? – специфичные команды оболочки PSQL(плагин). Реакция(ошибки) оболочки PSQL(плагин). 1. CREATEDB: команда не найдена $ / USR / местные / PgSQL / BIN / CREATEDB MyDB

Графический интерфейс По уровню вложения автоматически определяется уровень команд. Здесь – уровень базы данных

Администратор (создатель) БД определяет круг пользователей и их полномочия

2. CREATEDB: не удалось подключиться к базе данных Postgres: Не удается подключиться к серверу: нет такого файла или каталога Является ли сервер выполняется локально и принятие соединений на Unix сокета "/ tmp/.s.PGSQL.5432"? Это означает, что сервер не был запущен, или он не начинался в среде, где администратор СУБД вводил CREATEDB. 3. CREATEDB: не удалось подключиться к базе данных Postgres: Fatal: роль «Блюменталь» не существует Это произойдет, если администратор не создал в PostgreSQL учетную запись пользователя. (PostgreSQL учетные записи пользователей отличаются от операционных счетов пользователя системы (в панели управления Windows) Нужно воспользоваться -U переключателем или установить PGUSER переменной среды, сформулировав новое PostgreSQL имя пользователя. 4. CREATEDB: создание базы данных с ошибкой: ошибка: доступ запрещен по созданию базы данных Значит прикладной пользователь не имеются достаточные привилегии для создания базы данных. Если СУБД установлена на ПК пользователя, то в него надо входить как администратор. PostgreSQL позволяет создавать любое количество баз данных на данном сайте. Имена баз данных должны иметь алфавитный первого символа и ограничены до 63 байт. Для создания этой базы данных, просто наберите: $ CREATEDB // создание базу данных с тем же именем, что и имя текущего пользователя

Команда уничтожения базы данных: $ DROPDB Имя-Базы-Данных или DROP DATABASE Имя-Базы-Данных MyDB => MyDB = #//суперпользователь 1.Запуск PostgreSQL - интерактивной терминальной программы, называемые PSQL, который позволяет интерактивно вводить, редактировать и выполнять SQL команды: text- строка переменной длины, varchar(9) – строка переменной длины не превышающая 9 символов, char(10)- строка, состоящая ровно из 10 символов

2. Использование графического интерфейса, как инструмент PgAdmin или офисного пакета с ODBC или JDBC поддержки для создания и управления базой данных: По уровню вложения автоматически определяется уровень команд. Здесь – уровень таблицы

Автоматическая запись SQL-команд, выполняемых пользователем в графическом режиме

Создание primary key

Добавление строк через плагин: CREATE TABLE bik ( name TEXT UNIQUE, adres TEXT, inn CHAR(10) UNIQUE, bik CHAR(9) PRIMARY KEY); Операции CRUD – Create, Read, Update, Delete Наложены ограничения: PRIMARY KEY запрещает появление уникальных кодов в поле BIK, UNIQUE INSERT INTO bik ( name, adres, inn, bik) VALUES (Сбербанк РФ АКБ ОАО,117997, Москва, ул.Вавилова, д.19, , ),(Банк Москвы АКБ ОАО,107996, , Москва, ул.Рождественка, д.8/15, стр.3, ; );

Вставим одну запись с нарушением механизма поддержки целостности: Ключевое слово REFERENCES означает, что значение поля одной таблицы должно совпадать с первичным ключом какой-то строки другой таблицы CREATE TABLE inn ( name TEXT NOT NULL, postal_code VARCHAR(6) CHECK (postal_code ), bik CHAR(9) REFERENCES bik, inn CHAR(10), kpp CHAR(9), PRIMARY KEY (inn, kpp) ); INSERT INTO inn ( name, postal_code, bik, inn, kpp) VALUES (МТС ОАО,123008, , , ); INSERT INTO inn ( name, postal_code, bik, inn, kpp) VALUES (МТС ОАО, , , , ); Преднамеренная ошибка

Вставим следующую запись в таблицу с нарушением ограничения уникальности: Вставим и сделаем два изменения(верное и ошибочное): INSERT INTO inn ( name, postal_code, bik, inn, kpp) VALUES (МТС ОАО Санкт- Петербургский филиал, , , , ); INSERT INTO inn ( name, postal_code, bik, inn, kpp) VALUES (МТС ОАО Санкт-Петербургский филиал, , , , ); UPDATE inn SET kpp = WHERE inn = AND kpp = ; UPDATE inn SET kpp = WHERE inn = ;

Чтение с соединением Внутреннее соединение возвращает таблицу с записями, в которых значение связанных полей совпадают: Внешнее соединение с составным первичным ключом: Создадим новую таблицу, где SERIAL PRIMARY KEY – вариант определения первичного ключа с автоматически увеличивающимися целыми значениями, MATCH FULL – гарантируют, что оба значения внешнего ключа ( FOREIGN KEY )существуют или оба содержат значение NULL SELECT inn.*, bik.name, bik.adres FROM inn INNER JOIN bik ON inn.bik = bik.bik; CREATE TABLE sf (venue_id SERIAL PRIMARY KEY, nsf CHAR(8) DEFAULT 0000, dsf TIMESTAMP, comment TEXT, inn CHAR(10), kpp CHAR(9), FOREIGN KEY (inn,kpp) REFERENCES inn(inn,kpp) MATCH FULL);

Фраза RETURNING возвращает значение столбца после вставки. INSERT INTO sf (dsf, comment, inn, kpp) VALUES (01/11/13, example #3, , ) RETURNING venue_id, nsf; INSERT INTO sf( nsf, dsf, comment, inn, kpp) VALUES ( , 30/10/13, example #1, , ); INSERT INTO sf( nsf, dsf, comment, inn, kpp) VALUES ( , 31/10/13, example #2, , );

Составное соединение с использованием псевдонимов имен таблиц: INNER JOIN SELECT v.*, c.name FROM sf v INNER JOIN inn c ON v.inn = c.inn AND v.kpp=c.kpp;

Внешнее соединение возвращает все строки одной таблиц, даже если им нет соответствия в другой таблице: LEFT OUTER JOIN or LEFT JOIN or RIGHT OUTER JOIN or RIGHT JOIN Оператор FULL JOIN выполняет объединение LEFT и RIGHT, возвращая все строки из обеих таблиц вне зависимости от того, есть ли соответствие между столбцами или нет. SELECT inn.*, sf.nsf, sf.dsf, sf.comment FROM inn LEFT JOIN sf ON inn.inn=sf.inn AND inn.kpp = sf.kpp;

bik name adres inn *bik inn name postal_code bik *inn *kpp sf *venue_id nsf dsf comment inn kpp summa_sf has contains Диаграмма сущность-связь