Главная » Просмотр файлов » Общая часть (часть 2) (2015) (by Кибитова)

Общая часть (часть 2) (2015) (by Кибитова) (1161598), страница 48

Файл №1161598 Общая часть (часть 2) (2015) (by Кибитова) (Ответы на общую часть) 48 страницаОбщая часть (часть 2) (2015) (by Кибитова) (1161598) страница 482019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Эти соображения приводят к введению понятия совместимости по взятиюПриведем более точное определение операции расширенного декартоварасширенного декартова произведения. Два отношения совместимы по взятиюпроизведения.Пусть имеются два отношения R1{a1, a2, …, an} и R2{b1, b2, …, bm}.Спец.реляц.операции:расширенногодекартова произведения в том и только в том случае, если пересечениеТогдарезультатомоперацииR1 TIMESявляетсяотношение, …,отношенияan, b1, b2,множеств имен атрибутов,взятыхиз их R2схемотношений,пусто.R{aЛюбые1, a2двавсегдамогутсовместимымипо взятию декартоваприменить…, bm},телостатькоторогоявляется множествомкортежейпроизведения,вида {ra1, ra2,если…, ran, rb1, rb2,действительнополезнаяоперациясоединения.операцию переименования к одному из этих отношений.…, rbm} таких, что {ra1, ra2, …, ran} входит в тело R1, а {rb1, rb2, …, rbm} входит в По поводутеоретико-множественныхалгебрыследуетещетелоR2.

заметить,Следуетчто иоперациявзятияоперацийдекартовареляционнойпроизведенияне являетсяслишком+ заметить,операция присваиванияпереименованиеатрибутов.чтонавсечетыре операцииявляютсяассоциативными.Всеоченьоперации,осмысленнойпрактике.Во-первых,мощностьтела ее результатавеликакромедажевзятияразности,являютсякоммутативными,т.е.AOPB=BOPA.Посколькусхемамощностяхрезультирующегоотношенияявляетсяобъединениемпридопустимыхоперандов,а во-вторых,результатоперациисхемне более отношений-операндов,то очевиднойпроблемойможетбытьименованиеатрибутовSQL— универсальныйкомпьютерныйязык,применяемыйдлясоздания,модификациииинформативен,чем взятыев совокупностиоперанды.Какбудетпоказанодалее,управленияданнымив реляционныхбазахданных.результирующегоотношения,еслиотношения-операндыобладаютодноименными16.

АлгебраA.основнойсмыслвключенияоперациирасширенного декартовапроизведенияв составатрибутами. алгебры Кодда состоит в том, что на ее основе определяетсяреляционнойSQL основывается на реляционной алгебре.Пусть r – отношение, A – имя атрибута отношения r, T – имя соответствующего типаЭтиприводятк введениюпонятия совместимости(т. е.соображениятипаили доменаатрибутаA), v – значениетипа T. Тогда: по взятиюЯзыкSQLпредставляетсобойсовокупностьрасширенного декартова произведения.

Два отношения совместимы по взятиюрасширенногодекартоваи только вмножествотом случае, еслипересечение·• операторов;заголовкомHr произведенияотношения r в томназываетсяатрибутов,т.е.· инструкций;множествименатрибутов,взятыхизихсхемотношений,пусто.Любыедваотношенияупорядоченных пар вида <A, T>. По определению никакие два атрибутав этом· имогутвычисляемыхфункций.всегдастать совместимымипо взятиюмножествене могут содержатьодно идекартовато же имяпроизведения,атрибута A; если применитьоперациюпереименованиякодномуизэтихотношений.•кортеж tr, соответствующий заголовку Hr, – это множество упорядоченныхОператорытриплетов вида <A, T, v>, по одному такому триплету для каждого атрибута вСледуетHr;заметить, что операциявзятия декартовапроизведенияявляется слишкомСогласнообщепринятомустилю программирования,операторы(и другиенезарезервированныеслова)восмысленнойSQLвсегдаследуетписатьпрописнымибуквами.напрактике.Во-первых,мощностьтелаеерезультатаоченьвеликадаже•тело Br отношения r – это множество кортежей tr.

Заметим, что (в общемпри допустимыхмощностяхоперандов,а во-вторых,результатоперациине болееHr, нослучае) могутсуществоватьтакиекортежи tr,которыесоответствуютинформативен,чемвзятыевсовокупностиоперанды.Какбудетпоказанодалее,входятв Br.ОператорынеSQLделятсяна:основнойвключенияоперациирасширенногодекартовапроизведениясоставЗаметим,смыслчто заголовок– этомножество(упорядоченныхпар вида<A, T>),втело– это·операторыопределенияданных(DataDefinitionLanguage,DDL)реляционнойалгебрыКоддасостоитвтом,чтонаееосновеопределяетсямножество (кортежей tr), и кортеж – это множество (упорядоченных триплетов видаo v>).CREATEсоздаетобъект БД(самубазу, таблицу,представление,парапользователяи т. д.)<A, T,Элементзаголовка– этоатрибут(т. е.

упорядоченнаявида <A,T>);o ALTER изменяет объектэлемент тела – это кортеж; элемент кортежа – это упорядоченный триплет вида <A,o DROP удаляет объектT, v>. Любое подмножество заголовка – это заголовок, любое подмножество тела –· операторы манипуляции данными (Data Manipulation Language, DML)это тело,и любое подмножество кортежа – это кортеж.o SELECT считывает данные, удовлетворяющие заданным условиямoINSERT добавляет новые данныеo UPDATE изменяетсуществующиеданныескобки: <NOT>, <AND>, <OR> и т.

д. ВИмена реляционныхоперацийберутся в угловыеo DELETEданные входят операции реляционного дополнения <NOT>,исходныйбазовый удаляетнабор операций· операторыопределениядоступа кпереименованияданным (Data ControlLanguage,DCL)удаленияатрибута<REMOVE>,атрибута<RENAME>,реляционнойoGRANTпредоставляетпользователю(группе)разрешениянаопределенные операцииконъюнкции <AND> и реляционной дизъюнкции <OR>.с объектомo REVOKE отзывает ранее выданные разрешенияОперацияреляционногоo DENYзадает запрет,дополненияимеющий приоритет над разрешением· операторы управления транзакциями (Transaction Control Language, TCL)o COMMIT применяет транзакцию.Пусть so обозначаетрезультат операции <NOT> r.

Тогда:ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.o SAVEPOINT делит транзакцию на более мелкие участки.• Hs = Hr (заголовок результата совпадает с заголовком операнда);Создание базы данных.• Bs = {ts : exists tr (trBr and ts = tr) } (в тело результата--------------------------------------------------------------входятвсекортежи,соответствующиезаголовку и не входящие в телоCREATE DATABASE zawodоперанда).Операция <NOT> производит дополнение s заданного отношения r.

Заголовком sявляется заголовок r. Тело s включает все кортежи, соответствующие этому заголовкуи не входящие в тело r.CREATE TABLE ceh ( nomerceh int, nameceh char(20) )В уже существующей таблице мы можем поменять тип столбца, добавить новый, уничтожить старый.--------------------------------------------------------------ALTER TABLE kadry ADD (dolvnostx CHAR(20) BEFORE zarplata),DROP(pribytie), ADD CONSTRAINT UNIQUE(tabnom, fio) CONSTRAINTtabnomfioALTER TABLE items MODIFY (manu_code char(4))--------------------------------------------------------------Изменение структуры таблицы приводит к физическому преобразованию данных в ней. Если изменен тип столбца, то данные в немпреобразуются к новому типу, и если это невозможно осуществить,то оператор ALTER "валится" с кодом ошибки, а таблица остаетсяв неизмененном состоянии.View - "псевдо" таблица, базируется на существующих таблицах.--------------------------------------------------------------CREATE VIEW poor AS SELECT tabnom, fio, datarovd FROM kadryWHERE zarplata < 120# создано view - "псевдотаблица" из трех столбцов содержащая# строки из таблицы kadry, в которых zarplata меньше 120 рублей.--------------------------------------------------------------Ведет себя точно так же, как настоящая таблица, только место надиске под нее не отводятся, поскольку данные, лежащие в ней насамом деле хранятся в таблице, на которой это view базируется.Индекс - дополнительная структура к столбцам таблицы, нужен дляускорения поиска значений в столбце.Выдавать и забирать права доступа к таблице может владелец таблицы, Администратор Базы Данных (имеющий DBA права), а так жепользователь, которому было выдано право выдавать права (Оператором GRANT WITH GRANT OPTIONS)--------------------------------------------------------------REVOKE ALL ON customer FROM PUBLICGRANT ALL ON customer TO iwanow, petrow WITH GRANT OPTIONGRANT UPDATE(fname,lname,company, sity),SELECTON customer TO PUBLICREVOKE CONNECT FROM sidorowa, rootREVOKE DBA FROM ivanov--------------------------------------------------------------Отобрать у вас права DBA (если вы, конечно, им являетесь) можеттолько другой DBA.На время транзакции все измененные строки автоматически блокируются системой от изменения (но не от просмотра).

Вы можетеявно локировать всю таблицу целиком, тогда система не будетблокировать строки по отдельности. Вы можете блокировать таблицу целиком не только от изменения но и от просмотра.--------------------------------------------------------------BEGIN WORKLOCK TABLE kadry. . .UNLOCK TABLE kadry. . .LOCK TABLE kadry EXCLUSIVE--------------------------------------------------------------Если ваш оператор пытается записать в блокированную другимпользователем строку, то оператор "сваливается".

Вы можете установить для своей программы режим "Ждать разблокированиястрок".--------------------------------------------------------------SET LOCK MODE TO WAITУказать базе новый системный журнал.--------------------------------------------------------------START DATABASE zawod WITH LOG IN "/ARM/log/zawod"--------------------------------------------------------------Восстанавливают разрушенную (например из-за сбоя оборудования)базу данных так:--------------------------------------------------------------В среде UNIX1. Уничтожают остатки базы.2. Заливают вместо них копию базы с ленты (например, недельнойдавности) используя команду cpio или утилиту INFORMIX dbimport.3.Входят в среду INFORMIX и выполняют операторы:DATABASE kadry EXCLUSIVE# чтобы никто не лезROLLFORWARD DATABASE kadry# прогнать базу вперед# по системному журналуCLOSE DATABASE# теперь всем можно работать--------------------------------------------------------------Транзакция--------------------------------------------------------------BEGIN WORK# начать транзакцию.

. .# операторыIF все нормально THEN COMMIT WORKELSEROLLBACK WORKEND IF--------------------------------------------------------------Если во время транзакции программа "свалилась" то INFORMIX автоматически сделает откатку.• Простейшая форма оператора SELECT.•• Первый пример находит в таблице kadry строку, в которой столбец• tabnum=345 . Из этой строки берутся только три указаных столбца.• Второй пример выбирает ВСЕ строки из таблицы ceh, и все столбцы.• --------------------------------------------------------------• SELECT fio, dolvn, zarplata FROM kadry WHERE tabnom=345•• SELECT * FROM ceh•• SELECT kadry.fio, ceh.nameceh WHERE kadry.nomerceh=ceh.nomerceh• --------------------------------------------------------------• Третий пример выбирает фамилии работников из таблицы кадры, аназвания цехов, в которых они работают, из таблицы ceh.--------------------------------------------------------------INSERT INTO kadry VALUES (4,0,"Грицько",num,"10/25/1939",NULL)INSERT INTO customer VALUES (ps_customer.*)# ps_customer - переменная типа RECORD - аналог структуры# языке Си.

Этот оператор вставляет значения элементов записи# ps_customer в соответствующие поля таблицы customerвINSERT INTO kadry(tabnom, fio, nomerceh, dolvnostx)SELECT 0 , fio, 4, dolvnostx FROM kadryoldWHERE nomerceh=3 AND fio IS NOT NULL#последний оператор вставляет сразу несколько строк• UPDATE.•• меняет значения столбцов, в строках, удовлетворяющим WHERE ус• ловию.• --------------------------------------------------------------• UPDATE kadry SET fio="Зыкова" WHERE fio="Гирусова"•• UPDATE ceh SET kod_ceha[1,4]=nameceh[5,8]WHERE• nomerceh BETWEEN 3 AND 5 OR nameceh IN ("токарный","литейный")• --------------------------------------------------------------• В таблице ceh в цехах номер 3,4,5 а так же в токарном и литей• ном первые четыре символа в коде цеха будут заменены на подстроку поля nameceh из той же строки.Предложение WHERE может присутствовать в любом из операторовDELETE, UPDATE, SELECT, когда нужно задать условия на строки,которые требуется обработать (соответственно, уничтожить, изменить или выбрать).

Рассмотрим структуру и примеры использованияпредложений WHERE.• * УСЛОВИЯ С ПОДЗАПРОСОМ *•• --------------------------------------------------------------• SELECT fio FROM kadry WHERE zarplata=•(SELECT MAX(zarplata) FROM kadry )• --------------------------------------------------------------• Здесь подзапрос возвращает единственное значение - максимальное• значение зарплаты. А внешний SELECT оператор находит фамилии• обладателей оной.•• --------------------------------------------------------------• SELECT fio, shifr, organizaciq FROM zaqwki WHERE denxgi_rek is• not NULL and• gorod in (SELECT gorod FROM regiony WHERE region="Урал")• --------------------------------------------------------------• Здесь запрос выводит данные об руководителях, получивших финан• сирование и работающих на Урале.•• ---------------------------------------------------------------• SELECT order_num,stock_num,manu_code, total_price FROM items x• WHERE total_price > (SELECT 2*MIN(total_price)•FROM items WHERE order_num=x.order_num)• --------------------------------------------------------------• Этот запрос (используя связанный подзапрос) выводит список всех• изделий, чья общая цена не менее чем в два раза превосходит ми• нимальную цену изделий перечисленных в этом же ордере.•• Вы можете соединять любое количество вышеперечисленных условийвместе, используя логические операторы NOT, AND, OR.• Оператор UNLOAD•• Оператор UNLOAD сбрасывает данные из таблицы в файл в печатном• представлении.

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

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

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

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