Использование SQL в Intenet/интернет — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Использование SQL в Intenet/интернет

2020-06-02 134
Использование SQL в Intenet/интернет 0.00 из 5.00 0 оценок
Заказать работу

Работа с базами данных через Internet или интранет кардинально отличается от работы в традиционной системе клиент/сервер. Основное различие между ними находится в клиентской части. В традиционной системе клиент/сервер большинство функций СУБД выполняется на клиентской машине. А в базе данных, работающей через Internet, большая часть системы СУБД (если не вся) находится на сервере. В клиентской же части может не быть ничего, кроме Web-браузера. В большинстве случаев в ней находится браузер вместе со своим расширением, таким как включаемый модуль Netscape или элемент управления ActiveX. Таким образом, "интеллект" системы концентрируется на сервере. Такая концентрация имеет несколько преимуществ, перечисленных ниже.

· Достигается дешевизна клиентской части системы (браузера).

· Используется стандартный пользовательский интерфейс.

· Клиентскую часть легко поддерживать.

· Используется стандартная связь клиент/сервер.

· Имеется общее средство вывода мультимедийных данных.

· Чтобы защищать информацию от несанкционированного доступа или повреждения, необходимо на Web-сервере и в клиентском браузере поддерживать надежную систему шифрования.

· В браузерах не выполняется в достаточной степени проверка вводимых данных на правильность.

· Между находящимися на разных серверах таблицами базы данных может нарушиться синхронизация.

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


 

Компоненты SQL

В этой главе…

· Создание баз данных

· Обработка данных

· Защита баз данных

SQL – это язык, специально разработанный, чтобы создавать и поддерживать данные в реляционных базах. И хотя компании, поставляющие системы для управления такими базами, предлагают свои реализации SQL, развитие самого языка определяется и контролируется стандартом ISO/ANSI. Этот стандарт пересматривался последний раз в 2003 году. Все реализации в большей или меньшей степени отличаются от стандарта. Но как можно более полное следование стандарту– главное условие для работы базы данных и связанных с ней приложений на более чем одной платформе.

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

· Язык определения данных (Data Definition Language, DDL). Это та часть SQL, которая используется для создания (полного определения) базы данных, изменения ее структуры и удаления базы после того, как она становится ненужной.

· Язык манипулирования данными (Data Manipulation Language, DML). Предназначен для поддержки базы данных. С помощью этого мощного инструмента можно точно указать, что именно нужно сделать с данными, находящимися в базе, – ввести, изменить или выбрать нужные.

· Язык управления данными (Data Control Language, DCL). Защита базы данных от различных вариантов повреждения. При правильном использовании DCL обеспечивает защиту базы, а степень защищенности зависит от используемой реализации. Если реализация не обеспечивает достаточной защиты, то довести защиту до нужного уровня необходимо при разработке прикладной программы.

В этой главе вы познакомитесь с DDL, DML и DCL.

Язык определения данных

Язык определения данных (DDL) – это часть языка SQL, которая используется для создания, изменения и уничтожения основных элементов реляционной базы данных. В число этих элементов могут входить таблицы, представления, схемы, каталоги, кластеры и, возможно, не только они. В этом разделе говорится о контейнерной иерархии, которая связывает между собой эти элементы, и рассматриваются команды, выполняемые с элементами базы данных.

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

· Таблицы состоят из столбцов и строк.

· Схемы состоят из таблиц и представлений.

· Схемы находятся в каталогах.

Сама же база данных состоит из каталогов. Кое-где можно встретить и такое название базы данных, как кластер.

Создание таблиц

Таблица базы данных представляет собой двумерный массив, состоящий из строк и столбцов. Создать таблицу можно с помощью команды языка SQL CREATE TABLE (создать таблицу). В команде следует указать имя и тип данных каждого столбца.

После того как таблица создана, можно приступать к ее заполнению данными. (Впрочем, загружать данные – это дело языка DML, а не DDL.) Если требования меняются, то изменить структуру уже созданной таблицы можно с помощью команды ALTER TABLE (изменить таблицу). Со временем таблица может перестать быть полезной или устареть. И если час таблицы пробил, то уничтожить ее можно с помощью команды DROP (прекратить). Имеющиеся в SQL разные формы команд – CREATE (создать) и ALTER (изменить), а также DROP – как раз и представляют собой язык DDL.

Скажем, вы проектируете базы данных и не хотите, чтобы их таблицы постепенно, по мере обновления имеющихся в них данных, стали бы "неудобоваримыми". Чтобы обеспечить поддержку целостности данных, вы принимаете решение: структура таблиц этой базы должна быть наилучшим образом нормализована. Нормализация, которая сама по себе является широким полем для исследования, – это способ задания такой структуры таблиц баз данных, в которой обновление данных не создавало бы аномалий. В каждой создаваемой таблице столбцы соответствуют атрибутам, которые тесно связаны друг с другом.

Вы, например, можете создать таблицу CUSTOMER (клиент), в которой имеются такие атрибуты: CUSTOMER.CustomerlD (идентификатор клиента), CUSTOMER.FirstName (имя), CUSTOMER.LastName (фамилия), CUSTOMER.Street (улица), CUSTOMER.Sity (город), CUSTOMER.State (штат), CUSTOMER.Zipcode (почтовый код) и CUSTOMER.Phone (телефон). Все эти атрибуты имеют отношение к описанию клиента, а не любого другого объекта. В них находится более-менее постоянная информация о клиентах вашей организации.

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

CREATE TABLE CUSTOMER (

CustomerlD INTEGER NOT NULL,
FirstName CHARACTER (15),  
LastName CHARACTER (20) NOT NULL,
Street CHARACTER (25),  
City CHARACTER (20),  
State CHARACTER (2),  
Zipcode INTEGER  
Phone CHARACTER (13));  

Для каждого столбца указывается его имя (например, CustomerlD), тип данных (например, INTEGER) и, возможно, одно или несколько ограничений, например NOT NULL (не может быть неопределенным значением).

На рис. 3.1 показана часть таблицы CUSTOMER с теми данными, которые могут быть введены в нее.


Рис. 3.1. Таблица CUSTOMER, которую можно создать с помощью команды Create Table

Помни:
Если используемая вами реализация SQL не полностью соответствует SQL.2003, то синтаксис, которым вам придется пользоваться, может и не совпадать с приведенным в этой книге. За специальной информацией обратитесь к документации к СУБД
.

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

Не совсем. На самом деле это – неверный подход. Когда вдохновение и энтузиазм не дожидались, пока будет проведено тщательное планирование, многие проекты по созданию баз данных с самого начала получались ущербными. Пусть вы уверены, что имеете в уме четкое представление о том, какая структура должна быть у базы данных. Однако даже в этом случае запишите все на бумаге, а лишь после этого прикасайтесь к клавиатуре. Ниже приведены процедуры, о которых не стоит забывать при планировании базы данных.

· Определите все таблицы, которые вам нужны.

· Определите, какие столбцы должны быть в каждой таблице.

· Присвойте каждой таблице первичный ключ, в уникальности которого вы уверены. (О первичных ключах говорится в главах 4 и 5.

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

· Приведите каждую таблицу по меньшей мере в третью нормальную форму (ЗНФ), гарантирующую от аномалий ввода, удаления или обновления. (О нормализации баз данных рассказывается в главе 5.

Только создав проект на бумаге и проверив, насколько хорошо он смотрится, вы будете готовы перенести его в компьютер, используя команду CREATE языка SQL.

Место для представления

Иногда из таблицы CUSTOMER (клиент) вам требуется получить определенную информацию. При этом не нужно просматривать все подряд, а только конкретные столбцы и строки. В таком случае требуется представление (view).

Представления – это виртуальные таблицы. В большинстве реализаций они не являются в таблицах метаданных, и данные на самом деле поступают из таблиц, на основе которых это представление создано. Его данные больше нигде не хранятся. Одни представления состоят из определенных столбцов и строк одной таблицы. Другие же, которые называются многотабличными представлениями, получаются не менее чем из двух таблиц.

Однотабличное представление

Иногда данные, которые дадут ответ на ваш вопрос, находятся в единственной таблице базы данных. А если вся необходимая вам информация находится в одной таблице, то можно создать однотабличное представление данных. Скажем, например, что нужно просмотреть имена (first name), фамилии (last name) и телефонные номера (phone) всех клиентов, которые живут в штате Нью-Хэмпшир (который обозначается аббревиатурой NH). Тогда на основе таблицы CUSTOMER можно создать представление, содержащее только те данные, которые вам нужны. Оно создается при выполнении следующей команды:

CREATE VIEW NH_CUST ASSELECT CUSTOMER.FirstName,CUSTOMER.LastName,CUSTOMER.PhoneFROM CUSTOMERWHERE CUSTOMER.State = 'NH';

Диаграмма на рис. 3.2 показывает, каким образом представление создается из таблицы CUSTOMER.


Рис. З.2. Создание представления NH_CUST из таблицы CUSTOMER

Совет:
Этот код безупречно правильный, но немного громоздкий. Ту же самую операцию можно выполнить, набирая команды и покороче. Это возможно тогда, когда имеющаяся у вас реализация SQL допускает, что если в перечисленных атрибутах не указаны ссылки на таблицу, то все атрибуты относятся к таблице предложения FROM. Если ваша система в состоянии сделать это разумное допущение, то команду можно сократить до следующих строк:

CREATE VIEW NH_CUST ASSELECT FirstName, LastName, PhoneFROM CUSTOMERWHERE STATE = 'NH';

Хотя этот вариант записи проще, подобное представление может неправильно работать после применения команд ALTER TABLE. Конечно, если оператор JOIN (соединить) не используется, такого не случится. А для представлений с операторами JOIN лучше использовать полные имена. Об операторах JOIN рассказывается в главе 10.


Поделиться с друзьями:

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.019 с.