Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЛариса Ярунова
1 Три способа организации доступа к базе данных через: 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 Графический интерфейс По уровню вложения автоматически определяется уровень команд. Здесь – уровень базы данных
3 Администратор (создатель) БД определяет круг пользователей и их полномочия
4 2. CREATEDB: не удалось подключиться к базе данных Postgres: Не удается подключиться к серверу: нет такого файла или каталога Является ли сервер выполняется локально и принятие соединений на Unix сокета "/ tmp/.s.PGSQL.5432"? Это означает, что сервер не был запущен, или он не начинался в среде, где администратор СУБД вводил CREATEDB. 3. CREATEDB: не удалось подключиться к базе данных Postgres: Fatal: роль «Блюменталь» не существует Это произойдет, если администратор не создал в PostgreSQL учетную запись пользователя. (PostgreSQL учетные записи пользователей отличаются от операционных счетов пользователя системы (в панели управления Windows) Нужно воспользоваться -U переключателем или установить PGUSER переменной среды, сформулировав новое PostgreSQL имя пользователя. 4. CREATEDB: создание базы данных с ошибкой: ошибка: доступ запрещен по созданию базы данных Значит прикладной пользователь не имеются достаточные привилегии для создания базы данных. Если СУБД установлена на ПК пользователя, то в него надо входить как администратор. PostgreSQL позволяет создавать любое количество баз данных на данном сайте. Имена баз данных должны иметь алфавитный первого символа и ограничены до 63 байт. Для создания этой базы данных, просто наберите: $ CREATEDB // создание базу данных с тем же именем, что и имя текущего пользователя
5 Команда уничтожения базы данных: $ DROPDB Имя-Базы-Данных или DROP DATABASE Имя-Базы-Данных MyDB => MyDB = #//суперпользователь 1.Запуск PostgreSQL - интерактивной терминальной программы, называемые PSQL, который позволяет интерактивно вводить, редактировать и выполнять SQL команды: text- строка переменной длины, varchar(9) – строка переменной длины не превышающая 9 символов, char(10)- строка, состоящая ровно из 10 символов
6 2. Использование графического интерфейса, как инструмент PgAdmin или офисного пакета с ODBC или JDBC поддержки для создания и управления базой данных: По уровню вложения автоматически определяется уровень команд. Здесь – уровень таблицы
7 Автоматическая запись SQL-команд, выполняемых пользователем в графическом режиме
8 Создание primary key
9 Добавление строк через плагин: 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, ; );
10 Вставим одну запись с нарушением механизма поддержки целостности: Ключевое слово 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 (МТС ОАО, , , , ); Преднамеренная ошибка
11 Вставим следующую запись в таблицу с нарушением ограничения уникальности: Вставим и сделаем два изменения(верное и ошибочное): 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 = ;
12 Чтение с соединением Внутреннее соединение возвращает таблицу с записями, в которых значение связанных полей совпадают: Внешнее соединение с составным первичным ключом: Создадим новую таблицу, где 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);
13 Фраза 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, , );
14 Составное соединение с использованием псевдонимов имен таблиц: INNER JOIN SELECT v.*, c.name FROM sf v INNER JOIN inn c ON v.inn = c.inn AND v.kpp=c.kpp;
15 Внешнее соединение возвращает все строки одной таблиц, даже если им нет соответствия в другой таблице: 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;
16 bik name adres inn *bik inn name postal_code bik *inn *kpp sf *venue_id nsf dsf comment inn kpp summa_sf has contains Диаграмма сущность-связь
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.