Главная » Просмотр файлов » Описание всех лабораторных работ

Описание всех лабораторных работ (1127020)

Файл №1127020 Описание всех лабораторных работ (Описание всех лабораторных работ)Описание всех лабораторных работ (1127020)2019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Создатель первой версии файла: Губайдулин Айдар, 174 группа (2013) Ресурсы Сайт с заданием, книга Мартина Грабера “SQL” Общие советы: ● Начинайте сдавать лабы как можно раньше и не пропускайте сдачи. Самое главное правило сдачи БД. На следующей неделе после ознакомительного занятия нужно прийти сдавать 1 лабу. Также стоит подготовить схему 2 лабы, чтобы Теймур указал на главные ошибки и на второй неделе вы её сдали. Так как в первый день придёт сдавать мало людей, вы точно успеете со второй . В другие же дни сдать за день две лабы просто нереально, желающих очень много. Если начать сдавать с первого дня и идти так до конца, не теряя недель, то баллы за сдачи будут гораздо выше и ближе к середине апреля вы всё закончите с оценкой Отл в зачётке. Также существует вариант сдачи всех 10 лаб в феврале ­ начале марта по договорённости с Теймуразовым. Такой способ ещё более предпочтителен, т.к. в феврале нагрузка минимальна и большинство времени всё равно идёт не на учёбу. А учиться лучше зимой, а не весной. ● На сдачу приходить нужно в самом начале пары (а, может, и раньше), т.к. если попасть в конец очереди и отвечать за 15 минут до конца, времени, необходимого на ответы на дополнительные вопросы, не будет. [КБТ и компания мало того что довольно строго ведет очередь, но ещё и ограничивают запись в неё опоздавшим. Хотя, обычно, если у вас “нормальный” приоритет (ваша пара, без дисконта, сегодняшняя лаба) то вы успеете ответить] ● При подготовке к каждой лабе используйте Справку MSDN Справка MSDN (используйте поиск) ● Когда будете ставить MS SQL Server, нужно чётко придерживаться инструкций, данных КБТ. В противном случае вы не сможете сделать 7 лабу, т.к. при аутентификации искусственным пользователем возможно возникновение ошибки №18452. Возможно, существует решение проблемы, но во всех двух мне известных случаях приходилось брать ноут с нормально поставленным MS SQL у друзей. И лучше устанавливайте НЕ express версию, если собираетесь сдавать 10 лабу. (Не обязательно. 10 лаба сдается и без инструментов указанных в описании, даже без бд northwind. Хотя последняя конечно и удобна, легче будет создать свою тривиальную бд и заполнить её скриптом) ● Ни в коем случае не пытайтесь переустановить MS SQL. Удаления его из “Установки и удаления” программ не достаточно. MS SQL “опутывает” всю систему и, чтоб его удалить, можно, разве что, воспользоваться инструкцией с Майкрософта. Если пытаться всё делать самому, то могут остаться его куски, которые в дальнейшем будут препятствовать повторной установке. Если вы испортили свой сервер, то лучше просто создать ещё один. ● Попробуйте обогнать расписание сдач хотя бы на одну лабу. Уровень сложности сдачи падает раза в два. 1 лаба. Работа в среде интерактивного SQL Pro­tip: Если выделить строчку в окне запроса и нажать “исполнить”, выполнится только она (при этом свойства подключения типа вывода информации о времени запроса, или execute as, будут работать если были исполненны в этом подключении) pro­tip: F5 ­ “выполнить запрос”, Ф6 ­ проанализировать грамматику без выполнения, PRO­tip: если вам надоело каждый раз удалять данные после неудачных запросов, перед любым выражением создания\добавления поставьте BEGIN TRAN, после создания проверьте результат селектом, и в конце скрипта сделайте ROLLBACK ● При подготовке запросов важно, чтобы количество вызова оператора SELECT было минимальным. В идеале каждый запрос должен содержать ровно один SELECT. КБТ не очень любит вложенные запросы типа SELECT(SELECT(SELECT(....))). (мало того, он клялся и божился, что все запросы из этой лабы решаются в один селект) ● Хотя большинство запросов из вариантов можно найти в локалке, лучше написать их самому, т.к. запросы ­ основа понимания предмета. В любом случае, умение писать запросы необходимо в 4 лабе. ● Внимательно читайте условие запроса, ничего не додумывая и выполняя в точности то, что требуется. Например, в 29 варианте 4 запрос гласит: “Выбрать список продуктов, цены на которые в 1988г. менялись не менее 2 раз.” Тут существует два “подводных камня” a.

Если цена только установилась первый раз в 1988г., то это мы не считаем, т.к. цена не изменилась. b. Если цена изменилась, но новая цена совпадает со старой (такое тоже, очевидно, возможно), то цена также не изменилась. ● Если, например, для какого­то отдела нужно вывести всех сотрудников, работающих в Нью­Йорке, а для некоторого отдела их нет, то запрос должен выдавать название отдела и 0 напротив него. Если он не выводит этот отдел вообще, то запрос потребуют переписать. ● НИКОГДА не оставляйте в запросах служебные поля вроде id. Особенно если нужно вывести “все х кого­нибудь”. Если кроме него нету уникального поля, сделайте составное (например, если есть поля имя и фамилия, обьедините их в одну строку и выведете). Так же желательно использовать именование столбцов в запросе(select что­то as толковое_имя) Вопросы 1.

Что такое SELECT, FROM, GROUP BY, ORDER BY, HAVING 2. Что такое ALL, DISTINCT 3. Чем отличаются INNER JOIN и OUTER JOIN 4. Что такое CROSS JOIN, какой более простой конструкцией его можно заменить. Ответ: CROSS JOIN ­ это произведение двух таблиц. Гораздо более простой конструкцией является запятая. Т.е. SELECT (...) FROM tab1, tab2 ­ это всё равно, что SELECT(...) FROM tab1 CROSS JOIN tab2 5. Что будет, если ввести запрос SELECT * FROM table WHERE id = id 6. Что такое ISNULL 7. Что выведет COUNT(*), COUNT(), COUNT(8) в групповом запросе и почему. 8. Что выдаст SELECT * FROM table WHERE NULL=NULL (Ответ: ничего, потому что по стандарту сравнение с NULL возращает false, нужно использовать IS NULL) 9. declare @TestTable as table(A int) insert into @TestTable(A) values (1) insert into @TestTable(A) values (7) insert into @TestTable(A) values (5) insert into @TestTable(A) values (NULL) B ­ Пишут такую фигню и просят вывести среднее между 1,7,5. O ­ Надо написать AVG(CAST(A as FLOAT)) или AVG(A*1.0) select AVG(A*1.0) from @TestTable B ­ После спрашивают как считать COUNT с NULL и без NULL. O ­ COUNT(*) и COUNT(A) соответсвенно 2 лаба. Проектирование схемы Для сдачи этой работы нужно будет просто изобразить схему таблиц. Куда удобнее сразу сделать базу в SQL, чтобы сгенерировать схему автоматически встроенным средством. ● Не доверяйте простоте схемы в задании. Нужно продумать базу не только со стороны ответа на вопрос “кому и зачем” но ещё и “как это реалировать так чтобы было удобно”. Но и перебарщивать не стоит, чем сложнее схема ­ тем навороченее запросы, и легче КБТ вас по ней завалить. ● В вашей базе данных не должно быть лишних таблиц. Ваша база должна коррелировать с реальной жизнью. То есть, проектируя базу, связанную с ЖКХ, заранее ознакомьтесь с этой сферой, с тарифами и услугами и т.д. ● Будьте готовы к вопросам типа: “Зачем в этой таблице нужен этот столбец?”, “Зачем нужна эта таблица?” ● Самый главный вопрос ­ “Для кого и зачем проектировалась эта база данных?”. Вы должны будете назвать цель и обосновать, зачем вам в вашей базе нужны все таблицы. ● По возможности не включайте в схему финансы в каком бы то ни было виде. Если вы попытаетесь создать базу бухгалтерии, то с огромной вероятностью вас завалят, т. к. нужно учитывать абсолютно всё: поставки, долги, неожиданные доходы и т.п. КБТ с лёгкостью вас завалит. ● То же относиться к кадрам. ● Удобно делать схему с помощью, например, Database Design Tool (можно потом экспортировать в .sql) http://gnuwin.epfl.ch/apps/DDT/en/ 3 лаба. Создание таблиц ● Нужно знать типы данных ● pro­tip: если в предыдущей лабе схему рисовали автоматом по созданной базе, то скрипты для этой тоже можно получить автоматически, в контекстном меню базы данных выбрав Task ­> Generate Scripts; Его надо почистить от непонятных слов( ● При сдаче лабы вас попросят удалить все имеющиеся таблицы и запустить скрипт создания. Удобно в начале скрипта создания прописать удаление всех таблиц. (DROP TABLE <имя таблицы>). При этом нужно расположить команды удаления в нужном порядке, так как таблицы друг на друга ссылаются и это нужно учесть (сначала удаляйте таблицы, которые зависят от других, потом ­ “главные” таблицы). ●В таблицах нужно использовать ключевое слово IDENTITY. Если у вас этого не будет, вас отправят переделывать скрипт. Вопросы: 1.

Чем отличаются CHAR и VARCHAR? 2. Чем отличаются VARCHAR и NVARCHAR (зачем перед строковыми данными N’строка’)? 3. Что будет, если убрать из объявления столбца PRIMARY KEY ключевое слово NOT NULL Ответ: ничего не будет, но по стандарту положено, чтобы этот столбец был NOT NULL Следующий вопрос: убирает NOT. Ответ: Выдаст ошибку. 4. Чем отличаются PRIMARY KEY и UNIQUE? 5. Какая минимальная и максимальная может быть дата у datetime? (01.01.1000 ­ 31.12.9999) Пиздишь, братан, минимальная дата ­ 01.01.1753. Ты написал для date 6. Ещё одна суперзадача от КБТ: данные удаляются и добавляются снова. Возможны два варианта: всё заработало(Вам повезло, карма+1) и данные упали. В чём причина? Identity не сбросило. Как исправить? Я просто в INSERT явно указывал PRIMARY KEY. 7. Изменение параметров типа (или самого типа): a. Изменить тип данных поля в вашей базе. b.

Что будет, если при создании таблицы с полем age SMALLINT написать age SMALLINT DEFAULT(30)? Ответ: DEFAULT по умолчанию устанавливает всем строкам таблицы приписанное ему значение, если значения для соответствующего поля не вставляются в таблицу при помощи INSERT. c. Изменить ограничение наложенное, например, на тип VARCHAR. Т.е. если было VARCHAR(15), нужно сделать VARCHAR(30) Ответ: ALTER TABLE CLIENT ALTER COLUMN last_name VARCHAR(30); d. Изменить ограничение, наложенное при помощи CHECK, изменить значение DEFAULT. Указание к ответу: в окне обозревателя можно посмотреть ограничения, относящиеся к любой таблице и полю в ней. Там же можно создать сценарий (скрипт) для его изменения. В итоге должно получиться что­то типа: ALTER TABLE CLIENT DROP CONSTRAINT [DF__CLIENT__age__2764BD12] ALTER TABLE CLIENT ADD CONSTRAINT [DF__CLIENT__age__2764BD12] DEFAULT (35) FOR age 8.Если попросят изменить тип поля, которое связано foreign key, возможны два решения: удалить constraint­ы, поменять везде типы, восстановить constraint­ы. Но КБТ это не понравится, он хочет копии таблиц с измененным типом и копирование данных туда 1.

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

Тип файла
PDF-файл
Размер
301,03 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

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

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов лабораторной работы

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