Мартин Грубер - Понимание SQL

Тут можно читать онлайн Мартин Грубер - Понимание SQL - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-db. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Понимание SQL
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.9/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Мартин Грубер - Понимание SQL краткое содержание

Понимание SQL - описание и краткое содержание, автор Мартин Грубер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Данная книга является очень хорошим введением в теорию реляционных БД для пользователей-новичков, а также хорошим началом в освоении SQL, грамотном построение запросов, понимании того как эти запросы работают. Безусловно рекомендуется к прочтению для начинающих пользователей.

Понимание SQL - читать онлайн бесплатно полную версию (весь текст целиком)

Понимание SQL - читать книгу онлайн бесплатно, автор Мартин Грубер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
ТИПИЧНЫЙ СИСТЕМНЫЙ КАТАЛОГ

Давайте рассмотрим некоторые таблицы которые мы могли бы найти в типовом каталоге системы:

----------------------------------------------------------------------

Таблицы Содержание

----------------------------------------------------------------------

SYSTEMCATALOG Таблицы (базовые и представления)

SYSTEMCOLUMNS Столбцы таблицы

SYSTEMTABLES Каталог Представления в SYSTEMCATALOG

SYSTEMINDEXES Индексы в таблице

SYSTEMUSERAUTH Пользователи базы данных

SYSTEMTABAUTH Объектные привилегии пользователей

SYSTEMCOLAUTH Столбцовые привилегии пользователей

SYSTEMSYNONS Синонимы для таблиц

Теперь, если наш DBA предоставит пользователю Stephen право просматривать SYSTEMCATALOG такой командой,

GRANT SELECT ON SYSTEMCATALOG TO Stephen;

то Stephen сможет увидеть некоторую информацию обо всех таблицах в базе данных (мы имеем здесь пользователя DBA, пользователя Chris, владельца трех наших типовых таблиц, а также Adrian владельца представления Londoncust ).

SELECT tname, owner, numcolumns, type, CO

FROM SYSTEMCATALOG;

SQL Execution Log

SELECT tname, owner, numcolumns, type, CO

FROM SYSTEMCATALOG;

tname

owner

numcolumns

type

CO

SYSTEMCATALOG

SYSTEM

4

B

Salespeople

Chris

4

B

Customers

Chris

5

B

Y

Londoncust

Adrian

5

V

Orders

Chris

5

B

Таблица 24.1: Содержание таблицы SYSTEMCATALOG

Как вы можете видеть, каждая строка описывает свою таблицу. Первый столбец - имя; второй - имя пользователя который владеет ею; третий - число столбцов которые содержит таблица; и четвертый - код из одного символа, это или B (для базовой таблицы ) или V (для представления). Последний столбец имеет пустые(NULL) значения, если его тип не равен V; и этот столбец указывает, определена или нет возможность проверки. Обратите внимание что SYSTEMCATALOG(СЧИСТЕМНЫЙ КАТАЛОГ) представлен как одна из таблиц в вышеуказаном списке. Для простоты, мы исключили остальные каталоги системы из вывода. Таблицы системного каталога обычно показываются в SYSTEMCATALOG.

ИСПОЛЬЗОВАНИЕ ПРЕДСТАВЛЕНИЙ В ТАБЛИЦАХ КАТАЛОГА

Поскольку SYSTEMCATALOG - это таблица, вы можете использовать ее в представлении. Фактически можно считать, что имеется такое представление с именем SYSTEMTABLES. Это представление SYSTEMCATALOG содержит только те таблицы, которые входят в системный каталог; это обычно таблицы базы данных, типа таблицы Продавцов, которые показаны в SYSTEMCATALOG, но не в SYSTEMTABLES. Давайте предположим, что только таблицы каталога являются собственностью пользователя SYSTEM. Если вы захотите, вы можете определить другое представление, которое бы специально исключало таблицы каталога из вывода:

CREATE VIEW Datatables

AS SELECT *

FROM SYSTEMCATALOG

WHERE owner < > 'SYSTEM';

РАЗРЕШИТЬ ПОЛЬЗОВАТЕЛЯМ ВИДЕТЬ (ТОЛЬКО) ИХ СОБСТВЕННЫЕ ОБЪЕКТЫ

Кроме того, имеются другое использование представлений каталога.

Предположим вам нужно чтобы каждый пользователь был способен сделать запрос каталога, для получения информации только из таблиц которыми он владеет. Пока значение USER, в команде SQL постоянно для ID доступа пользователя выдающего команду, оно может всегда быть использоваться, чтобы давать доступ пользователям только к их собственным таблицам. Вы можете, для начала создать следующее представление:

CREATE VIEW Owntables

AS SELECT *

FROM SYSTEMCATALOG

WHERE Owner=USER;

Теперь вы можете предоставить всем пользователям доступ к этому представлению:

GRANT SELECT ON Owntables TO PUBLIC;

Каждый пользователь теперь, способен выбирать (SELECT) только те строки из SYSTEMCATALOG, владельцем которых он сам является.

ПРЕДСТАВЛЕНИЕ SYSTEMCOLUMNS

Одно небольшое добавление к этому, позволит каждому пользователю просматривать таблицу SYSTEMCOLUMNS для столбцов из его собственных таблиц. Сначала, давайте рассмотрим ту часть таблицы SYSTEMCOLUMNS, которая описывает наши типовые таблицы( другими словами, исключим сам каталог):

tname

cname

datatype

cnumber

tabowner

Salespeople

snum

integer

1

Diane

Salespeople

sname

char

2

Diane

Salespeople

city

char

3

Diane

Salespeople

comm

decimal

4

Diane

Customers

cnum

integer

1

Diane

Customers

cname

char

2

Diane

Customers

city

char

3

Diane

Customers

rating

integer

4

Diane

Customers

snum

integer

5

Diane

Orders

onum

integer

1

Diane

Orders

odate

date

2

Diane

Orders

amt

decimal

3

Diane

Orders

cnum

integer

4

Diane

Orders

snum

integer

5

Diane

Как вы можете видеть, каждая строка этой таблицы показывает столбец таблицы в базе данных. Все столбцы данной таблицы должны иметь разные имена, также как каждая таблица должна иметь данного пользователя, и наконец все комбинации пользователей, таблиц, и имен столбцов должны различаться между собой.

Следовательно табличные столбцы: tname (имя таблицы ), tabowner (владелец таблицы ), и cname (имя столбца ), вместе составляют первичный ключ этой таблицы. Столбец datatype( тип данных ) говорит сам за себя. Столбец cnumber (номер столбца ) указывает на местоположении этого столбца внутри таблицы. Для упрощения, мы опустили параметры длины столбца, точности, и масштаба.

Для справки, показана строка из SYSTFMCATALOG которая ссылается к этой таблице:

tname

owner

numcolumns

type

CO

SYSTEMCOLUMNS

System

8

B

Некоторые SQL реализации, будут обеспечивать вас большим количеством данных чем показано в этих столбцах, но показанное являются основой для любый реализаций.

Для иллюстрации процедуры предложенной в начале этого раздела, имеется способ, позволяющий каждому пользователю видеть информацию SYSTEMCOLUMNS только для принадлежащих ему таблиц:

CREATE VIEW Owncolumns

AS SELECT *

FROM SYSTEMCOLUMNS

WHERE tabowner=USER;

GRANT SELECT ON Owncolumns TO PUBLIC;

КОММЕНТАРИЙ В СОДЕРЖАНИИ КАТАЛОГА

Большинство версий SQL, позволяют вам помещать комментарии(ремарки) в специальные столбцы пояснений таблиц каталогов SYSTEMCATALOG и SYSTEMCOLUMNS, что удобно, так как эти таблицы не всегда могут объяснить свое содержание. Для простоты, мы пока исключали этот столбец из наших иллюстраций.

Можно использовать команду COMMENT ON со строкой текста, чтобы пояснить любую строку в одной из этих таблиц. Состояние - TABLE, для комментирования в SYSTEMCATALOG, и текст - COLUMN, для SYSTEMCOLUMNS.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Мартин Грубер читать все книги автора по порядку

Мартин Грубер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Понимание SQL отзывы


Отзывы читателей о книге Понимание SQL, автор: Мартин Грубер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x