Главная » Просмотр файлов » Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 20

Файл №960530 Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009) 20 страницаХомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530) страница 202017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 20)

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

Динамический метод обычно применяется в случаях, когда в приложении заранее неизвестен вид SQL-вызова и он строится в диалоге с пользователем.100Часть 1. Основы построениябазданныхОсновным назначением языка S Q L (как и других языков для работы с базами данных) является подготовка и выполнение запросов.

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

Само представление описывается путем указания идентификаторапредставления и запроса, который должен быть выполнен для его получения.Д л я удобства работы с представлениями в язык SQL введено понятие курсора. Курсор представляет собой своеобразный указатель, используемый дляперемещения по наборам записей при их обработке.Описание и использование курсора в языке SQL выполняется следующим образом. В описательной части программы выполняют связывание переменной типа курсор (CURSOR) с оператором SQL (обычно с оператором SELECT). В выполняемойчасти программы производится открытие курсора (OPEN <имя курсора>), перемещение курсора по записям (FETCH <имя курсора>...), сопровождаемое соответствующей обработкой, и, наконец, закрытие курсора (CLOSE <имя курсора>).Основные операторы языкаОпишем минимальное подмножество языка SQL, опираясь на его реализацию в стандартном интерфейсе O D B C (Open Database Connectivity — совместимость открытых баз данных) фирмы Microsoft.Операторы языка SQL можно условно разделить на два подъязыка: языкопределения данных (Data Definition Language — D D L ) и язык манипулирования данными (Data Manipulation Language — DML).

Основные операторыязыка SQL представлены в табл. 3.3.Рассмотрим формат и основные возможности важнейших операторов, за исключением специфических операторов, отмеченных в таблице символом «*». Несущественные операнды и элементы синтаксиса (например, принятое во многих системах программирования правило ставить «;» в конце оператора) будем опускать.1. Оператор создания таблицы имеет формат вида:C R E A T E TABLE <имя таблицы>(<имя столбца> <тип данных> [NOT NULL][,<имя столбца> <тип данных> [NOT NULL]]...

)Обязательными операндами оператора являются имя создаваемой таблицы и имя хотя бы одного столбца (поля) с указанием типа данных, хранимыхв этом столбце.При создании таблицы для отдельных полей могут указываться некоторыедополнительные правила контроля вводимых в них значений. Конструкция NOTNULL (не пустое) служит именно таким целям и для столбца таблицы означает,что в этом столбце должно быть определено значение.3. Реляционнаямодельданных101Таблица3.3Операторы языка SQLВидНазваниеНазначениеDDLCREATE TABLEDROP TABLEALTER TABLECREATE INDEXDROP INDEXCREATE VIEWDROP VIEWGRAND*REVOKE*создание таблицыудаление таблицыизменение структуры таблицысоздание индексаудаление индексасоздание представленияудаление представленияназначение привилегийудаление привилегийDMLSELECTUPDATEINSERTDELETEвыборка записейизменение записейвставка новых записейудаление записейВ общем случае в разных СУБД могут использоваться различные типыданных (см.

подраздел 2.7). В интерфейсе O D B C поддерживаются свои станд а р т н ы е типы данных, н а п р и м е р , с и м в о л ь н ы е(SQL_CHAR,SQL_VARCHAR, SQL LONGVARCHAR) и др. При работе с БД некоторойСУБД посредством интерфейса ODBC выполняется автоматическое преобразование стандартных типов данных, поддерживаемых интерфейсом, в типыданных источников и обратно.

При необходимости обмен данными междупрограммой и источником данных может вестись без преобразования — вовнутреннем формате данных источника.Пример 1. Создание таблицы.Пусть требуется создать таблицу goods описания товаров, имеющую поля:type — вид товара, comp_id — идентификатор компании-производителя, паше —название товара и price — цена товара. Оператор определения таблицы можетиметь следующий вид:CREATE TABLE goods (type SQL_CHAR(8) NOT NULL,comp_id S Q L C H A R ( I O ) NOT NULL, name SQL_VARCHAR(20),price SQL_DECIMAL(8,2)).2. Оператор изменения структурытаблицы имеет формат вида:ALTER TABLE <имя таблицы>( {ADD, MODIFY, DROP} <имя столбца> [<тип данных>][NOT NULL][,{ADD, MODIFY, DROP} <имя столбца> [<тип данных>][NOT NULL]]...)Часть 1.

Основы102построениябазданныхИзменение структуры таблицы может состоять в добавлении (ADD), изменении (MODIFY) или удалении (DROP) одного или нескольких столбцов таблицы. Правила записи оператора ALTER TABLE такие же, как и оператора CREATETABLE. При удалении столбца указывать <тип данных> не нужно.Пример 2. Добавление поля таблицы.Пусть в созданной ранее таблице goods необходимо добавить поле number,отводимое для хранения величины запаса товара. Для этого следует записатьоператор вида:ALTER TABLE goods (ADD number S Q L I N T E G E R ) .3. Оператор удалениятаблицы имеет формат вида:D R O P TABLE <имя таблицы>Оператор позволяет удалить имеющуюся таблицу. Например, для удаления таблицы с именем items достаточно записать оператор вида:D R O P TABLE items.4.

Оператор создания индекса имеет формат вида:CREATE [UNIQUE] INDEX <имя индекса>ON <имя таблицы>(<имя столбца> [ ASC | DESC ][,<имя столбца> [ ASC | DESC ]... )Оператор позволяет создать индекс для одного или нескольких столбцов заданной таблицы с целью ускорения выполнение запросных и поисковых операций с таблицей. Для одной таблицы можно создать несколько индексов.Задав необязательную опцию UNIQUE, можно обеспечить уникальность значений во всех указанных в операторе столбцах. По существу, создание индекса с указанием признака UNIQUE означает определение ключа в созданной ранее таблице.При создании индекса можно задать порядок автоматической сортировкизначений в столбцах — в порядке возрастания ASC (по умолчанию), или впорядке убывания DESC.

Для разных столбцов можно задавать различныйпорядок сортировки.Пример 3. Создание индекса.Пусть для таблицы ЕМР, имеющей поля: NAME (имя), SAL (зарплата),MGR (руководитель) и DEPT (отдел), нужно создать индекс main_indx длясортировки имен в алфавитном порядке и убыванию размеров зарплаты.Оператор создания индекса может иметь вид:CREATE INDEX main_indxON emp (name, sal DESC).5. Оператор удаления индекса имеет формат вида:DROP INDEX <имя индекса>3. Реляционнаямодельданных103Этот оператор позволяет удалять созданный ранее индекс с соответствующим именем. Так, например, для уничтожения индекса main_indx к таблицеemp достаточно записать оператор D R O P INDEX main_indx.6.

Оператор создания представленияимеет формат вида:CREATE VIEW <имя представления>[(<имя столбца> [,<имя столбца> ] . . . ) ]AS <оператор SELECT>Данный оператор позволяет создать представление. Если имена столбцовв представлении не указываются, то будут использоваться имена столбцов иззапроса, описываемого соответствующим оператором SELECT.Пример 4.

Создание представления.Пусть имеется таблица companies описания производителей товаров с полями:comp_id (идентификатор компании), comp_name (название организации),comp_address (адрес) и phone (телефон), а также таблица goods производимых товаров с полями: type (вид товара), comp_id (идентификатор компании), паше (название товара) и price (цена товара). Таблицы связаны между собой по полюcomp_id. Требуется создать представление герг с краткой информацией о товарахи их производителях: вид товара, название производителя и цена товара. Оператор определения представления может иметь следующий вид:CREATE VIEWгергASSELECTgoods.type, companies.comp_name, goods.priceFROMgoods, companiesWHEREgoods.comp_id = companies.comp_id7. Оператор удаленияпредставленияимеет формат вида:D R O P VIEW <имя представления>Оператор позволяет удалить созданное ранее представление.

Заметим, чтопри удалении представления таблицы, участвующие в запросе, удалению неподлежат. Удаление представления герг производится оператором вида:DROP VIEW герг.8. Оператор выборки записей имеет формат вида:SELECT [ALL | DISTINCT]<список данных>FROM <список таблиц>104Часть 1. Основы построениябазданных[WHERE <условие выборки>][ G R O U P BY <имя столбца> [,<имя столбца>] ...

][HAVING <условие поиска>][ORDER BY <спецификация> [,<спецификация>] ...]Это наиболее важный оператор из всех операторов SQL. Функциональные возможности его огромны. Рассмотрим основные из них.Оператор SELECT позволяет производить выборку и вычисления надданными из одной или нескольких таблиц. Результатом выполнения оператора является ответная таблица, которая может иметь (ALL), или не иметь( D I S T I N C T ) повторяющиеся строки.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее