Главная » Просмотр файлов » Ответы к экзамену по БД

Ответы к экзамену по БД (542444), страница 13

Файл №542444 Ответы к экзамену по БД (Ответы к экзамену по БД) 13 страницаОтветы к экзамену по БД (542444) страница 132015-08-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Во всех других случаях это недопустимо.Пример. Определить первое по алфавиту название товара.SELECT Min(Товар.Название) AS Min_НазваниеFROM ТоварПример. Определить количество сделок.SELECT Count(*) AS Количество_сделокFROM СделкаПредложение GROUP BYЧасто в запросах требуется формировать промежуточные итоги, что обычно отображаетсяпоявлением в запросе фразы "для каждого...". Для этой цели в операторе SELECT используетсяпредложение GROUP BY.

Запрос, в котором присутствует GROUP BY, называется группирующимзапросом, поскольку в нем группируются данные, полученные в результате выполненияоперации SELECT, после чего для каждой отдельной группы создается единственная суммарнаястрока.Пример. Вычислить средний объем покупок, совершенных каждым покупателем.SELECT Клиент.Фамилия, Avg(Сделка.Количество)AS Среднее_количествоFROM Клиент INNER JOIN СделкаON Клиент.КодКлиента=Сделка.КодКлиентаGROUP BY Клиент.ФамилияПредложение HAVINGПри помощи HAVING отражаются все предварительно сгруппированные посредством GROUPBY блоки данных, удовлетворяющие заданным в HAVING условиям. Это дополнительнаявозможность "профильтровать" выходной набор.Условия в HAVING отличаются от условий в WHERE:•••HAVING исключает из результирующего набора данных группы с результатамиагрегированных значений;WHERE исключает из расчета агрегатных значений по группировке записи, неудовлетворяющие условию;в условии поиска WHERE нельзя задавать агрегатные функции.Пример.

Определить фирмы, у которых общее количество сделок превысило три.SELECT Клиент.Фирма, Count(Сделка.Количество)AS Количество_сделокFROM Клиент INNER JOIN СделкаON Клиент.КодКлиента=Сделка.КодКлиентаGROUP BY Клиент.ФирмаHAVING Count(Сделка.Количество)>3Предложение ORDER BYВ общем случае строки в результирующей таблице SQL-запроса никак не упорядочены. Однако ихможно требуемым образом отсортировать, для чего в оператор SELECT помещается фраза ORDERBY, которая сортирует данные выходного набора в заданной последовательности. Сортировкаможет выполняться по нескольким полям, в этом случае они перечисляются за ключевымсловом ORDER BY через запятую. Способ сортировки задается ключевым словом, указываемым врамках параметра ORDER BY следом за названием поля, по которому выполняется сортировка.

Поумолчанию реализуется сортировка по возрастанию. Явно она задается ключевым словом ASC. Длявыполнения сортировки в обратной последовательности необходимо после имени поля, покоторому она выполняется, указать ключевое слово DESC. Фраза ORDER BY позволяетупорядочить выбранные записи в порядке возрастания или убывания значений любого столбца иликомбинации столбцов, независимо от того, присутствуют эти столбцы в таблице результата или нет.Фраза ORDER BY всегда должна быть последним элементом в операторе SELECT.Во фразе ORDER BY может быть указано и больше одного элемента.Пример. Вывести список фирм и клиентов.

Названия фирм упорядочить в алфавитном порядке,имена клиентов в каждой фирме отсортировать в обратном порядке.SELECT Клиент.Фирма, Клиент.ФамилияFROM КлиентORDER BY Клиент.Фирма, Клиент.Фамилия DESC30. Т-SQL. Операторы создания и удаления таблиц БД, индексов.Таблица – основной объект для хранения информации в реляционной базе данных. Она состоитиз содержащих данные строк и столбцов, занимает в базе данных физическое пространство иможет быть постоянной или временной.Поле, также называемое в реляционной базе данных столбцом, является частью таблицы, закоторой закреплен определенный тип данных. Каждая таблица базы данных должна содержатьхотя бы один столбец. Строка данных – это запись в таблице базы данных, она включает поля,содержащие данные из одной записи таблицы.Базовый синтаксис оператора создания таблицы:CREATE TABLE имя_таблицы(имя_столбца тип_данных[NULL | NOT NULL ] [,...n])Удаление таблицы из БД:DROP TABLE имя_таблицы [RESTRICT | CASCADE]Оператор DROP TABLE дополнительно позволяет указывать, следует ли операцию удалениявыполнять каскадно.

Если в операторе указано ключевое слово RESTRICT, то при наличии в базеданных хотя бы одного объекта, существование которого зависит от удаляемой таблицы,выполнение оператора DROP TABLE будет отменено. Если указано ключевое слово CASCADE,автоматически удаляются и все прочие объекты базы данных, чье существование зависит отудаляемой таблицы, а также другие объекты, зависящие от удаляемых объектов.Пример.create table member( member_no int not null,lastname char(50) not null,firstname char(50) not null,photo image null )Этим оператором создается таблица member, состоящая из четырех колонок:member_no - имеет тип int, значения null не допускаютсяlastname - имеет тип char(50) - 50 символов, значения null не допускаютсяfirstname - аналогично lastnamephoto - имеет тип image (изображение), допускается значение nullИндексы представляют собой структуру, позволяющую выполнять ускоренный доступ к строкамтаблицы на основе значений одного или более ее столбцов.

Наличие индекса может существенноповысить скорость выполнения некоторых запросов и сократить время поиска необходимыхданных за счет физического или логического их упорядочивания. Индекс – это набор ссылок,упорядоченных по определенному столбцу таблицы, который в данном случае будет называтьсяиндексированным столбцом. Физически индекс – всего лишь упорядоченный набор значений изиндексированного столбца с указателями на места физического размещения исходных строк вструктуре базы данныхСоздание индексаCREATE [UNIQUE][CLUSTERED|NONCLUSTERED]INDEX index_nameON [[database.]owner.]table_name(column_name[,column_name]...)[WITH][FILLFACTOR = x][[,] IGNORE_DUP_KEY][[,] {SORTED_DATA | SORTED_DATA_REORG}][[,] {IGNORE_DUP_ROW | ALLOW_DUP_ROW}]][ON segment_name]Создает индекс для перечисленных колонок на указанном сегменте.CLUSTERED - создавать кластеризованный индекс, т.е. такой индекс, при котором в листьях Bдерева, образующего индекс, находятся не ссылки на данные, а собственно страницы данных.FILLFACTOR - позволяет управлять заполнением страниц B-дерева индекса, задается впроцентах, 100% - полное заполнение.ПримерCREATE UNIQUE CLUSTERED INDEX au_id_indON authors (au_id)Удаление индекса:DROP INDEX имя_индексаВ среде SQL Server реализовано несколько типов индексов:• кластерные индексы;• некластерные индексы;• уникальные индексы.Некластерные индексы – наиболее типичные представители семейства индексов.

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

Прииспользовании кластерных индексов следующая порция данных располагается сразу посленайденных ранее данных. Благодаря этому отпадают лишние операции, связанные с обращениемк индексу и новым поиском нужной строки в таблице. В таблице может быть определен толькоодин кластерный индекс.Уникальный индекс: Уникальность значений в индексируемом столбце гарантируютуникальные индексы. При их наличии сервер не разрешит вставить новое или изменитьсуществующее значение таким образом, чтобы в результате этой операции в столбце появилисьдва одинаковых значения.Уникальный индекс является своеобразной надстройкой и может быть реализован как длякластерного, так и для некластерного индекса. В одной таблице может существовать одинуникальный кластерный и множество уникальных некластерных индексов.Средства языка SQL предлагают несколько способов определения индекса:• автоматическое создание индекса при создании первичного ключа;• автоматическое создание индекса при определении ограничения целостности UNIQUE;• создание индекса с помощью команды CREATE INDEX.31.

Т-SQL. Операторы загрузки таблиц, удаления и обновления данных таблицы. Типыданных.Создание таблиц с помощью оператора CREATE TABLE (упрощенный синтаксис):CREATE TABLE имя_таблицы (имя_столбца тип_данных [NULL | NOT NULL] [CONSTRAINTS],имя_столбца тип_данных[NULL|NOT NULL] [CONSTRAINTS] , ..... );Пример.CREATE TABLE member( member_no int NOT NULL,lastname char(50) NOT NULL,firstname char(50) NOT NULL )Оператор ALTER TABLE используется для обновления схемы существующей таблицы.ALTER TABLE имя_таблицы (ADD | DROP имя_столбца тип_данных [NULL | NOT NULL] [CONSTRAINTS] ,ADD I DROP имя_столбца тип_данных [NULL|NOT NULL] [CONSTRAINTS] ,…);Удаление таблиц (удаление именно таблиц, а не их содержимого) с помощью оператора DROPTABLE:DROP TABLE имя_таблицы;Оператор INSERT добавляет в таблицу одну строку.INSERT INTO имя_таблицы [(имена_столбцов, ...)] VALUES[значения, ...);Пример.INSERT INTO Customers(cust_id, cust_contact, cust_email, cust_name, cust_address, cust_city,cust_state, cust_ZIP)VALUES('4000000006' , NULL, NULL, 'Toy Land', '123 Any Street', 'New York', 'NY' , '11111');Копирование данных из одной таблицы в другую с помощью оператора SELECT INTO.Это — другая форма добавления данных, при использовании которой оператор INSERT вообщене применяется.

Чтобы скопировать содержимое какой-то таблицы в новую (которая создается "налету").SELECT * INTO имя_таблицы1 FROM имя_таблицы2;Оператор UPDATE обновляет одну или несколько строк таблицы.UPDATE имя_таблицы SET имя_столбца = значение, [WHERE ...];Оператор UPDATE очень прост в использовании, он состоит из трех основных частей:• имени таблицы, подлежащей обновлению;• имен столбцов и их новых значений;• условий фильтрации, определяющих, какие именно строки должны быть обновлены.Пример. У клиента 10 появился адрес электронной почты, поэтому его запись нужно обновить.UPDATE CustomersSET cust_email = 'kim@thetoystore.com'WHERE cust_id = '10';Для обновления нескольких столбцов необходим иной синтаксис:UPDATE Customers SET cust_contact = 'Sam Roberts', cust_email = 'sam@toyland.com' WHEREcust_id = '10';Оператор DELETE удаляет одну или несколько строк таблицы.DELETE FROM имя_таблицы [WHERE ...];Его можно использовать двумя способами:• для удаления из таблицы определенных строк;• для удаления из таблицы всех ее строк.Применять оператор delete следует с особой осторожностью, потому что можно ошибочно удалитьвсе строки таблицы.Следующий оператор удаляет одну строку из таблицы Customers:DELETE FROM CustomersWHERE cust_id = '10';Оператор DELETE FROM требует, чтобы вы указали имя таблицы, из которой должны бытьудалены данные.

Предложение WHERE фильтрует строки, определяя, какие из них должны бытьудалены. В нашем примере должна быть удалена строка, относящаяся к клиенту 10. Если быпредложение WHERE было пропущено, этот оператор удалил бы все столбцы таблицы.Ключевое слово FROMВ некоторых реализациях SQL за delete может опционально следовать ключевое слово from.Однако хорошим тоном считается всегда указывать это ключевое слово, даже если в нем нетнеобходимости.

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

Тип файла
PDF-файл
Размер
1,41 Mb
Предмет
Высшее учебное заведение

Список файлов ответов (шпаргалок)

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