|
Программирование >> Руководство по sql
Ha пересечении строки и столбца находится соответствующий адрес Рис. 1.2. Получение данных из таблицы Независимость При управлении базами данных, как и в nauieii жизни, все стремятся к независимости. Независимость данных - критический аспект при управлении любор! системой баз данных. Она позволяет изменять приложения, не изменяя для этого структуру базы данных, и изменять конструкцию базы данных, не оказывая при этом влияния на работу приложений. Система управления базами данных не должна вынуждать вас выносить окончательные решения о том, какие данные вы должны сохранять, как получать к ним доступ и что будет нужно вашим пользователям. Система не должна становиться бесполезной при изменении ваших потребностей. Реляционная модель обеспечивает независимость данных на двух уровнях - физическом и логическом. Физическая независимость данных (physical data independence) означает с точки зрения пользователя, что представление данных абсолютно не зависит от способа их физического хранения. Как следствие этого, физическое перемещение данных никоим образом не может повлиять на логичен скую структуру базы данных и ваше восприятие данных. Такие изменения обычно становятся просто необходимыми, особенно в больших многопользовательских системах. Например, при недостатке места для хранения информации может потребоваться установка дополнительных физических носителей. Когда устройство выходит из строя - увы, его приходится быстро заменять. Иногда может потребоваться увеличить производительностт системы или упростить ее использование, изменив для этого методы доступа к физическим данным. (Эти методы связаны с созданием стратегии доступа (access strategies) и применением индексов (index).) Другой тип независимости, обеспечиваемый реляционными системами - логическая независимость (logical independence) - означает, что изменение взаимосвязей между таблицами, столбцами и строками не влияет на правильное функционирование профаммных приложений и текущих запросов. Вы можете разбивать таблицы по строкам или столбцам, а приложения и запросы все равно будут выполняться, как и раньше. Несмотря на изменение логической структуры базы данных, вы всегда можете воспользоваться своими старыми запросами. Требование логической и физической независимости данных составляет основу двух других правил Кодда. Язык высокого уровня Определение реляционной системы, так же, как и правила Кодда, требует, чтобы весь диалог с базой данных велся на едином языке - иногда его называют общим подъязыком данных (comprehensive data sublanguage). В мире коммерческих систем управления базами данных такой язык получил название SQL. SQL используется для манипуляций с данными (data manipulation) - выборки и модификации, определения данных (data definition) и администрирования данных (data administration). Любая операция по выборке, модификации, определению или администрированию выполняется с помощью оператора (statement) или команды (command) SQL. Имеется две разновидности операций по манипуляции с данными - выборка данных (data retrieval) и модификация данньгх (data modification). Выборка - это поиск необходимых вам данных, а модификация означает добавление-, удаление или изменение данных. Операции no выборке (чаще называемые запросами (queries)) осуществляют поиск в базе данных, наиболее эффективно извлекают затребованную вами информацию и отображают ее. Во всех запросах SQL используется ключевое слово SELECT. Дальще в этой главе вы найдете описание нескольких простых SQL-запросов. Пока особенно не задумывайтесь над их синтаксисом - он будет подробно описан в главе 3. Сейчас только посмотрите примеры запросов и результаты их выполнения, чтобы насладиться прелестями SQL и получить начальные представления. Следующий оператор SELECT покажет вам все данные из таблицы publishers, которая является частью базы данных bookbiz. SQL: select* from publishers Символ звездочки (*) заменяет названия всех столбцов в таблице. В результате выполнения этого запроса вы получите: Результат: pub id pub name address city state 0736 New Age Books 1 1st St Boston MA 0877 Binnet & Hardley 2 2nd Ave. Washington DC 1389 Algodata Infosystems 3 3rd Dr. Berkeley CA Операции no модификации выполняются соответственно с использованием ключевых слов INSERT, DELETE и UPDATE. С помощью следующей команды можно добавить строку в таблицу publishers. SQL: insert into publishers values (0010, Pragmatics, 4 4th Ln., Chicago, IL) Если вы снова просмотрите данные, воспользовавшись оператором SELECT, то увидите новую строку. SQL: select * from publishers Результат:
Другие команды SQL предназначены для создания и удаления таблиц, индексов и других объектов. Следующая команда создает таблицу под названием test с двумя столбцами - id для целых чисел и пате для хранения символьной информации (до 15 символов). SQL: create table test (id int, name char (15)) Вы можете смело пользоваться оператором SELECT, даже несмотря на то, что в таблице test пока нет никаких данных. SQL: select * from test Результат: id name Последняя категория операторов SQL - операторы администрирования, или команды управления данными (data control). Они позволяют вам координировать совместное использование базы данных и поддерживать ее в наиболее эффективном состоянии. Одним из наиболее важных аспектов администрирования многопользовательских систем управления базами данных является управление доступом к данным. Хорошим примером административных команд является ключевое слово GRANT, позволяющее установить полномочия пользователей. В следующем примере пользователю с именем кагеп разрешается выбирать данные из таблицы test. SQL: grant select on test to karen Имейте в виду, что мы еще не приступали к рассмотрению реляционных операций и синтаксиса SQL, так что все это - чисто вводные замечания. Реляционные операции в определении системы управления реляционными базами данных упоминаются три операции по выборке данных - проектирование, выбор (иногда называемый ограничением (restriction)) и объединение, которые позволяют строго указать системе, какие данные вы хотите увидеть. Операция проектирования выбирает столбцы, операция выбора - строки, а операция объединения собирает вместе данные из связанных таблиц. Логическая и физическая независимость, о которой мы упоминали в этой главе, означает, что вам не нужно беспокоиться о физическом расположении данных и о том, как их искать - это проблемы исключительно систем управления базами данных. SQL можно рассматривать как непроцедурный язык программирования (nonprocedural language), так как он позволяет вам выразить то, что вы хотите получить, не вдаваясь в детали самого процесса. Все эти три операции записываются с использованием ключевого слова SELECT. Именно так! В SQL ключевое слово SELECT используется не только для выбора данных, но и для выполнения операций проектирования и объединения. Чтобы насладиться красотой оператора SELECT, познакомьтесь с его упрощенным синтаксисом. SQL: SELECT список выбора FROM список таблиц WHERE условия поиска В следующих подразделах объясняется, как этот простой на вид оператор используется для выполнения трех реляционных операций. Проектирование. Операция проектирования позволяет указать системе, какие столбцы таблицы вы хотите просмотреть. Например, если вы хотите просмотреть все строки таблицы, содержащей информацию об издательствах, но вам нужны
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |