alan_beaulieu-learning_sql-ru (Учебник по SQL), страница 4

PDF-файл alan_beaulieu-learning_sql-ru (Учебник по SQL), страница 4 Базы данных (117373): Ответы (шпаргалки) - 4 семестрalan_beaulieu-learning_sql-ru (Учебник по SQL) - PDF, страница 4 (117373) - СтудИзба2022-01-31СтудИзба

Описание файла

PDF-файл из архива "Учебник по SQL", который расположен в категории "". Всё это находится в предмете "базы данных" из 4 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 4 страницы из PDF

д.Столбец (column)Отдельный элемент данных, хранящийся в таблице.19Что такое SQL?ТерминОпределениеСтрока (row)Набор столбцов, которые вместе полностью описывают сущность или некоторое действие, производимоенад сущностью. Также называется записью (record).Таблица (table)Набор строк, хранящийся в памяти (непостояннаятаблица) или на постоянном запоминающем устройстве (постоянная таблица).Результирующий набор Другое название непостоянной таблицы, обычно яв(result set)ляющейся результатом SQLзапроса.Первичный ключ(primary key)Один или более столбцов, которые можно использовать как уникальный идентификатор для каждойстроки таблицы.Внешний ключ(foreign key)Один или более столбцов, которые можно совместноиспользовать для идентификации одной строки другой таблицы.Что такое SQL?Помимо определения реляционной модели Кодд предложил язык дляработы с данными в реляционных таблицах, названный DSL/Alpha.Вскоре после публикации статьи Кодда в IBM была организована группа для создания прототипа языка на базе его идей.

Эта группа разработала упрощенную версию DSL/Alpha, которую назвали SQUARE. В результате усовершенствования SQUARE появился язык SEQUEL, который в конце концов получил имя SQL.Сейчас SQL разменял четвертый десяток, претерпев за свой век множество изменений. В середине 1980х Национальный институт стандартизации США (American National Standards Institute, ANSI) началразрабатывать первый стандарт языка SQL, который был опубликованв 1986 г. Дальнейшие доработки были отражены в следующих версиях стандарта SQL (1989, 1992, 1999 и 2003 гг.).

Наряду с усовершенствованием базового языка в SQL появились и новые возможности дляобеспечения объектноориентированной функциональности.SQL идет рука об руку с реляционной моделью, потому что результатомSQLзапроса является таблица (в данном контексте также называемаярезультирующим набором). Таким образом, в реляционной базе данныхможно создать новую постоянную таблицу, просто сохранив результирующий набор запроса. Аналогично в качестве входных данных запросможет использовать как постоянные таблицы, так и результирующиенаборы других запросов (подробно это будет рассмотрено в главе 9).И последнее замечание: SQL не акроним (хотя многие настаивают, чтоэто сокращение от Structured Query Language (Структурированныйязык запросов)).

Название этого языка произносится по буквам (т. е.«S», «Q», «L») или как «sequel» (сиквел).20Глава 1. Немного историиКлассы SQLвыраженийЯзык SQL разбит на несколько отдельных частей. В данной книге будутрассмотрены: SQLвыражения управления схемой данных (SQL schemastatements), предназначенные для определения структур данных, хранящихся в базе данных; SQLвыражения для работы с данными (SQLdata statements), предназначенные для работы со структурами данных,ранее определенными с помощью SQLвыражений управления схемой;SQLвыражения управления транзакциями, предназначенные для начала, завершения и отката транзакций (рассматриваются в главе 12).Например, новая таблица базы данных создается с помощью SQLвыражения управления схемой create table (создать таблицу), а чтобы заполнить ее данными, потребуется SQLвыражение для работы с данными insert (вставить).Чтобы дать представление об этих выражениях, приведем SQLвыражение управления схемой, создающее таблицу corporation (корпорация):CREATE TABLE corporation(corp_id SMALLINT,name VARCHAR(30),CONSTRAINT pk_corporation PRIMARY KEY (corp_id));Это выражение создает таблицу с двумя столбцами, corp_id и name, гдестолбец corp_id определен как первичный ключ таблицы.

Подробнаяинформация о данном выражении, например доступные в MySQL типы данных, приводится в следующей главе. Теперь рассмотрим SQLвыражение для работы с данными, которое вставляет в таблицу corporation запись для корпорации Acme Paper Corporation:INSERT INTO corporation (corp_id, name)VALUES (27, 'Acme Paper Corporation');Это выражение добавляет в таблицу corporation строку со значением 27в столбце corp_id и значением Acme Paper Corporation в столбце name.Наконец, приведем простое выражение select (выбрать) для извлечения только что созданных данных:mysql< SELECT name> FROM corporation> WHERE corp_id = 27;++| name|++| Acme Paper Corporation |++Все элементы БД, созданные посредством SQLвыражений управлениясхемой, хранятся в специальном наборе таблиц, который называетсясловарем данных (data dictionary).

Все эти «данные о базе данных» наЧто такое SQL?21зывают метаданными (metadata). К таблицам словаря данных можноделать запросы с помощью оператора select, в точности как к созданным вами таблицам. Таким образом, текущие структуры данных, развернутые в БД во время выполнения, становятся доступными. Например, если требуется создать отчет о новых счетах, открытых за последний месяц, можно жестко закодировать известные на момент написания отчета имена столбцов таблицы account либо сделать запроск словарю данных, получить текущий набор столбцов и динамическигенерировать отчет при каждом выполнении.Данная книга посвящена главным образом той части языка для работы с данными, к которой относятся команды select, update (обновить),insert и delete (удалить).

SQLвыражения управления схемой рассмотрены в главе 2, где создается БД, используемая в примерах даннойкниги. Вообще говоря, SQLвыражения управления схемой не требуютособого внимания, за исключением их синтаксиса, тогда как у SQLвыражений для работы с данными (хотя их и немного) есть масса нюансов, нуждающихся в подробном изучении. Поэтому большинство главданной книги посвящены SQLвыражениям для работы с данными.SQL: непроцедурный языкЕсли в прошлом вам приходилось работать с языками программирования, вы привыкли к описанию переменных и структур данных, использованию условной логики (ifthenelse), циклическим конструкциям (do while … end) и разделению кода на небольшие многократноиспользуемые части (объекты, функции, процедуры). Код передаетсякомпилятору, и результирующий исполняемый код делает в точности(ну, не всегда в точности) то, что вы запрограммировали.

С каким быязыком программирования ни работали, Java, C#, C, Visual Basic илилюбым другим процедурным языком, вы полностью управляете действиями программы. С SQL, однако, понадобится отказаться от привычного контроля над выполнением, потому что SQLвыражения определяют необходимые входные и выходные данные, а способ выполнениявыражения зависит от компонента механизма СУБД (database engine),называемого оптимизатором (optimizer). Работа оптимизатора заключается в том, чтобы рассмотреть SQLвыражение и с учетом конфигурации таблиц и доступных индексов принять решение о самом эффективном пути выполнения запроса (ну, не всегда самом эффективном).Большинство СУБД позволяют программисту влиять на решения оптимизатора с помощью подсказок оптимизатору (optimizer hints), например предложений по использованию конкретного индекса.

Однакобольшинство пользователей SQL никогда не доберется до этого уровнясложности и будет оставлять подобные тонкости администраторам БДили специалистам по вопросам производительности.Следовательно, с SQL писать полные приложения не получится. Еслитребуется создать чтото сложнее простого сценария для работы с оп22Глава 1. Немного историиределенными данными, понадобится интегрировать SQL со своим любимым языком программирования.

Некоторые производители базданных сделали это за вас, например Oracle с языком PL/SQL или Microsoft с TransactSQL. Благодаря этим языкам SQLвыражения для работы с данными являются частью грамматики языка программирования, что позволяет свободно интегрировать запросы к БД с процедурными командами. Однако при использовании не характерного для БДязыка, такого как Java, для выполнения SQLвыражений понадобитсяспециальное средство.

Некоторые из этих программных средств предоставляются производителями БД, тогда как другие создаются сторонними производителями или разработчиками ПО с открытым исходным кодом. В табл. 1.2 показаны некоторые доступные вариантыинтегрирования SQL в конкретные языки программирования.Таблица 1.2. Средства интегрирования SQLЯзыкПрограммное средствопрограммированияJavaJDBC (Java Database Connectivity) (JavaSoft)C++RogueWave SourcePro DB (инструмент сторонних производителей для соединения с БД Oracle, SQL Server,MySQL, Informix, DB2, Sybase и PostgreSQL)C/C++Pro*C (Oracle)MySQL C API (с открытым исходным кодом)DB2 Call Level Interface (IBM)C#ADO.NET (Microsoft)VisualBasicADO.NET (Microsoft)Если требуется только интерактивное выполнение SQLкоманд, каждый производитель БД обеспечивает как минимум простой инструментпередачи SQLкоманд механизму СУБД и просмотра результатов.

Большинство производителей предлагает также графический инструмент,в одном окне которого вводятся SQLкоманды, а в другом выводятся результаты их выполнения. Поскольку примеры данной книги работаютс базой данных MySQL, для запуска примеров и форматирования результатов я буду использовать утилиту командной строки mysql.Примеры SQLРанее в этой главе я обещал показать SQLвыражение, возвращающеевсе транзакции текущего счета Джорджа Блейка.

Не будем тянуть,вот оно:SELECT t.txn_id, t.txn_type_cd, t.date, t.amountFROM customer c INNER JOIN account a ON c.cust_id = a.cust_idINNER JOIN product p ON p.product_cd = a.product_cdINNER JOIN transaction t ON t.account_id = a.account_id23Что такое SQL?WHERE c.fname = 'George' and c.lname = 'Blake'AND p.name = 'checking';Без лишних на этом этапе подробностей: данный запрос идентифицирует в таблице account строку Джорджа Блейка, а в таблице product –строку с типом счета 'checking' (текущие расходы), в таблице accountнаходит строку, соответствующую данной комбинации «клиент/типсчета», и возвращает четыре столбца таблицы transaction для всехтранзакций по этому счету.

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