Программирование >>  Хронологические базы данных 

[ 1 ] 2 3 4 ... 348


хронологические базы данных

Базы данных и управление ими

1.1. Вводный пример

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

добавлять новые пустые файлы в базу данных;

вставлять новые данные в существующие файлы;

получать данные из существующих файлов;

изменять данные в существующих файлах;

удалять данные из существующих файлов;

удалять существующие файлы из базы данных.

В качестве иллюстрации в табл. 1.1 приведена небольшая база данных, состоящая всего из одного файла под названием CELLAR (погреб). В этом файле хранятся данные о содержимом винного погреба. На рис. 1.1 показан пример выполнения операции выборки и данные, возвращаемые с помощью этой операции.

Таблица 1.1. Содержимое файла CELLAR

BIN#

WINE

PRODUCER

YEAR

BOTTLES

READY

Chardonnay

Buena Vista

1997

1999

Chardonnay

Geyser Peak

1997

1999

Chardonnay

Simi

1996

1998

Joh. Riesling

Jekel

1998

1999

Fume Blanc

Ch. St. Jean

1997

1999

Fume Blanc

Robt. Mondavi

1996

1998

Gewurztraminer

Ch. St. Jean

1998

1999

Cab. Sauvignon

Windsor

1991

2000

Cab. Sauvignon

Geyser Peak

1994

2002

Cab. Sauvignon

Robt. Mondavi

1993

2004



Окончание табл. 1.1

BIN#

WINE

PRODUCER

YEAR

BOTTLE S

READY

Pinot Noir

Gary Farrell

1996

1999

Pinot Noir

Fetzer

1993

2000

Pinot Noir

Dehlinger

1995

1998

Merlot

Clos du Bois

1994

2000

Zinfandel

Cline

1994

2003

Zinfandel

Rafanelli

1995

2003

Замечание. Операции над базами данных, имена файлов и т.п. в этой книге для наглядности пишутся прописными буквами, хотя на практике часто удобнее использовать строчные. В большинстве СУБД допускаются оба варианта.

Выборка данных:

SELECT WINE, BIN#, PRODUCER FROM CELLAR WHERE READY = 2000 ;

Результат (выданный, например, на экран дисплея):

WINE

BIN#

PRODUCER

Cab. Sauvignon

Windsor

Pinot Noir

Fetzer

Merlot

Clos du Bois


Рис. 1.1. Пример выборки информации из базы данных

На рис. 1.2 приведены примеры операций вставки (INSERT), обновления (UPDATE) и удаления (DELETE) для базы данных винного погреба. Эти примеры почти не требуют пояснений. Далее, в главах 3, 4, 5 и некоторых других, будут приведены примеры добавления и удаления файлов.

Вставка новых данных: INSERT

INTO CELLAR ( BIN#, WINE, PRODUCER, YEAR, BOTTLES, READY ) VALUES ( 53, Pinot Noir, Saintsbury, 1997, 6, 2001 ) ;

Обновление существующих данных: UPDATE CELLAR SET BOTTLES = 4 WHERE BINI = 3 ;

Удаление существующих данных: DELETE

FROM CELLAR WHERE BIN# = 2 ;

Рис. 1.2. Примеры операций вставки, обновления и удаления Глава 1. Базы данных и управление ими



в завершение вводного раздела приведем несколько замечаний.

1. По очевидным причинам компьютерные файлы, такие как CELLAR в приведенном выше примере, часто называют таблицами, а не файлами (точнее, реляционными таблицами; подробности - в разделах 1.3 и 1.6).

2. Строки (row) подобных таблиц соответствуют записям файла, а столбцы (columns) можно рассматривать как поля этих записей. В дальнейшем термины запись и поле будут использоваться тогда, когда речь будет идти о базах данных вообще (в основном, в первых двух главах). Термины строка и столбец будут использоваться при рассмотрении реляционных систем (еще раз обратитесь к разделам 1.3 и 1.6).

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

3. Для простоты в этом примере мы предположили по умолчанию, что в столбцах WINE и PRODUCER содержатся строковые данные, а во всех остальных столбцах - целочисленные данные. Вопросы, касающиеся типов данных (data types) столбцов, более подробно будут обсуждаться в главах 3, 4 и особенно в главе 5.

4. Столбец BIN# является первичным ключом (primary key) таблицы CELLAR (подразумевается, что любые две строки этой таблицы никогда не будут содержать одно и то же значение поля BIN#). Для выделения в таблицах столбцов первичного ключа мы обычно будем использовать двойное подчеркивание (см. табл. 1.1).

5. Примеры операций выборки, вставки, обновления и удаления на рис. 1.1 и 1.2 представлены с помощью операторов (statement) SELECT, INSERT, UPDATE и DELETE специального языка баз данных, называемого SQL. Язык SQL поддерживается в настоящее время большинством коммерческих СУБД, представленных на рынке, и является официальным стандартом языка для работы с реляционными базами данных.

Замечание. Название SQL вначале было аббревиатурой, образованной от Structured Query Language (язык структурированных запросрв), и его было принято произносить как сиквел . Сейчас, когда язык стал стандартом, SQL - это уже не аббревиатура, а обычное название, которое произносится как эс-кью-эль . В дальнейшем в этой книге предполагается именно такой вариант произношения.

6. Заметим, что в языке SQL для операции обновления используется ключевое слово UPDATE, обозначающее именно операцию изменения (change). Это в некоторых случаях может привести к недоразумениям, поскольку термин обновить (update) используется также по отношению к операциям вставки (INSERT), обновления (UPDATE) и удаления (DELETE) в целом, как к группе. В данной книге мы будем различать эти два понятия, используя строчные буквы при записи общего понятия и прописные буквы, когда будет подразумеваться именно операция обновления UPDATE.

7. Как вам, наверное, известно, большая часть современных систем баз данных - реляционные (или в какой-то мере считающиеся реляционными; глава 4, раздел 4.7). И это одна из причин, по которой в данной книге наибольшее внимание уделяется именно реляционным системам.



[ 1 ] 2 3 4 ... 348

Купить swiss med примоболан primomed в алматы - primobol купить алматы testoshop.kz.
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.006
При копировании материалов приветствуются ссылки.
Яндекс.Метрика