|
Программирование >> Sql: полное руководство
i * i-i -i Создание баз данных Многим пользователям не приходится самостоятельно создавать базы данных. Как правило, они работают с базой данных, которая уже существует Например, при работе с типичной корпоративной базой данных ее администратор может выдать пользователю разрешение на выборку и, возможно, на изменение хранимых данных Однако администратор не позволит пользователю создавать новые базы данных или изменять структуры существующих таблиц. Тем не менее, по мере приобретения опыта работы с SQL вы можете захотеть создавать собственные таблицы для хранения своих данных, например результатов технических испытаний или плана-прогноза объема продаж. При работе в многопользовательской среде может возникнуть потребность в созда>ши нескольких таблиц или даже целой базы данных для совместного использования с другими сотрудниками. Если вы работаете с базой данных, расположенной на персональном компьютере, то вам наверняка потребуется создавать собственные таблицы и базы данных для поддержки своих прикладных программ. В настоящей главе рассматриваются средства языка SQL, позволяющие создавать таблицы и базы данных, а также определять их структуру. Язык определения данных Инструкции SELECT, INSERT, DELETE, UPDATE, COMMIT И ROLLBACK, рассмотренные ВО второй и третьей частях книги, предназначены для обработки данных В совокупности эти инструкции называются языком обработки данньа, или DML (Data Manipulation Language). Инструкции DML могут модифицировать информацию, хранимую в базе данных, но не могут изменять ее структуру. Например, ни одна из этих инструкций не позволяет создавать и удалять таблицы или столбцы. Для изменения структуры базы данных предназначен другой набор инструкций SQL, который называется языком определения данных, или DDL (Data Defшltюn Language). С помощью инструкций DDL можно: определить структуру новой таблицы и создать ее; удалить таблицу, которая больше не нужна; изменить определение существующей таблицы; определить виртуальную таблицу (или представление) данных; обеспечить безопасность базы данных; создать индекс для ускорения доступа к таблице; управлять физическим размещением данных. В большинстве случаев инструкции DDL обеспечивают высокий уровень доступа к данным и позволяют пользователю не вникать в детали хранения информации в базе данных на физическом уровне. Они оперируют абстрактными объектами базы данных, такими как таблицы и столбцы. Однако DDL не может совершенно не затрагивать вопросов, связанных с физической памятью. Инструкции и предложения DDL, управляющие физической памятью, могут быть разными в различных СУБД-Ядро языка определения данных образуют три команды: CREATE (создать), позволяющая определить и создать объект базы данных; DROP (удалить), служащая для удаления существующего объекта базы данных; ALTER (изменить), с помощью которой можно изменить определение объекта базы данных. Все основные реляционные СУБД позволяют использовать три указанные команды DDL во вре,\щ соей работы. Тамм образом, структура реляционной базы данных является динамической. Например, СУБД может создавать, удалять или изменять таблицы, одновременно с этим обеспечивая доступ пользователям к базе данных. Это - одно из главных преимуществ реляционных баз данных по сравнению с более ранними системами, в которых изменять структуру базы данных можно было только после прекращения работы СУБД. Это означает, что с течением времени база данных может расти и изменяться. Ее промышленная эксплуатация может продолжаться в то время, когда в базу данных добавляются все новые таблицы и модули. Хотя DDL и DML являются двумя отдельными частями SQL, в большинстве реляционных СУБД такое разделение существует лишь на абстрактном уровне Обычно инструкции DDL и DML в СУБД абсолютно равноправны, и их можно произвольно чередовать как в интерактивном, так и в программном SQL Если программе или пользователю требуется таблица для временного хранения результатов, они могут создать эту таблицу, заполнить ее, проделать с данными необходимую работу и затем удалить таблицу. Это, опять-таки, является большим преимуществом по сравнению с более ранними моделями представления данных, где структура базы данных жестко фиксировалась при ее создании. Практически все коммерческие СУБД поддерживают DDL как неотъемлемую часть языка SQL, хотя стандарт SQL1 этого не требует. В SQL1 между инструкциями DDL и DML имеется четкое разделение и допускается реализовывать DML как надстройку над нереляционным ядром базы данных. В стандарте SQL2 все еще проводится разфаниче- ние между различными типами инструкций SQL (инструкции DDL назьгааются инструкциями схемы базы данньск , а инструкции DML - инструкциями транзакций ), но в то же время сам стандарт приведен в соответствие с реальными принципам реализации современных СУБД: в SQL2 требуется, чтобы инструкции DDL можно было вьшолнять как в интерактивном режиме, так и в приложениях. В SQL2 определены только те части DDL, которые относительно независимы от структур физического хранения, особетостей операционной системы и других специфических особенностей СУБД. На практике же все СУБД включают множество дополнений к DDL, связанных со спецификой реализации каждой конкретной СУБД. Ниже в настоящей главе описываются различия между стандартом ANSI/ISO и реализацией DDL в популярных реляционных СУБД. Создание базы данных В СУБД, установленньгх на мэйнфреймах или в крупных корпоративных сетях, за создание новьгх баз данньгх отвечает только администратор. В СУБД, установленных на серверах более низкого уровня, отдельным пользователям может бьпь разрешено создавать собственные базы данных, но обычно в таких СУБД базы данных создаются централизованно, а пользователи затем работают с ними. Если вы работаете с базой данных на персональном комтц,ютере, то, скорее всего, являетесь как ее администратором, так и пользователем, и вам придется создавать базу самостоятельно. В стандарте SQL1 содержится спецификация языка SQL, используемого для описания структуры базы данных, но не указывается способ создания базы данных, поскольку в различных СУБД применялись неодинаковые подходы к этому вопросу. Подобное положение дел наблюдается и сегодня Методы создания баз данных, применяемые в ведущих реляционных СУБД, отчетливо иллюстрируют эти различия: В СУБД DB2 с-.руктура базы данных определена по умолчанию. База данных ассоциируется с выполняемой копией серверного обеспечениярВ2, и пользователе
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |