Loading...
nakov avatar nakov SoftUni Team Trainer 5295 Точки

[Sample Exam] Databases

Колеги, подготвил съм и съм ви качил за тренировка примерен изпит по бази данни в сайта на курса: https://softuni.bg/trainings/20/Databases-Feb-2015.

Изпитът съдържа няколко части:

  • Дадена ви е SQL Server база данни (схема с таблици и връзки между тях + данни) във вид на SQL скрипт. Вашата задача е да напишете няколко SQL заявки за извличане на данни.
  • Дадена ви е SQL Server база данни. Трябва да добавите в нея няколко таблици, да промените някои данни, да изтриете някои данни и за добавите някои данни. Накрая трябва да напишете SQL заявка, с която проверява дали промените са били правилно направени.
  • Писане на изгледи / съхранени процедури / функции в базата.
  • Моделиране на релационна схема по текстово описание (database modeling), вкарване на данни и писане на заявка върху вкараните данни.

Можете да тренирате в judge системата: http://judge.softuni.bg/Contests/70/Databases-Sample-Exam.

За да се автоматизира проверката на изпита използваме автоматична проверка на резултата от всяка задача, вместо да проверяваме дали са правилни SQL заявките, извеждащи този резултат, тъй като всяка задача може да има разнообразни решения. При изпращане на резултат от SQL заявка, моля копирайте данните заедно с хедърите (на първия ред рябва да са заглавията на колоните, разделени с табулация, а на следващите редове - колоните с данни, разделени с табулация).

На изпита (на 1 март) може да очаквате подобна тема, която ще включва същите 4 части, но върху различна база данни с различни таблици и данни. Ще обхванем отново MS SQL Server и MySQL.

Както винаги, ще направим и подготовка на живо за изпита (на 27 февруари), където ще решим всички тези задачи (и ще запишем видео за онлайн студентите).

15
Databases Basics 02/03/2015 10:38:57
ttitto avatar ttitto 1153 Точки

Може би е добра идея да се помисли дали да не си качим и кода някъде освен изходите на решенията. Идеята ми е, че ако излезе нещо непредвидено може да се наложи частична ръчна проверка на някоя задача. Не винаги всички сортировки могат да се предвидят, както и всички начини на решение на една и съща задача;

Ето пример: 12та задача от ЛАБА

моето решение:

SELECT c.Name AS Category , u.Username, min(u.PhoneNumber) AS [PhoneNumber], COUNT(a.Id) AS [Answers Count]
FROM Categories c LEFT OUTER JOIN Questions q
ON q.CategoryId = c.Id LEFT OUTER JOIN Answers a
ON a.QuestionId = q.Id JOIN Users u
ON a.UserId = u.Id
GROUP BY c.Name, u.Username
HAVING COUNT(a.Id) <> 0 AND min(u.Phonenumber) Is NOT NULL
ORDER BY COUNT(a.Id) DESC

авторското решение:

SELECT c.Name AS Category , u.Username, u.PhoneNumber AS [PhoneNumber], COUNT(a.Id) AS [Answers Count]
FROM Categories c LEFT OUTER JOIN Questions q
ON q.CategoryId = c.Id LEFT OUTER JOIN Answers a
ON a.QuestionId = q.Id JOIN Users u
ON a.UserId = u.Id
GROUP BY c.Name, u.Username, u.PhoneNumber
HAVING COUNT(a.Id) <> 0 AND min(u.Phonenumber) Is NOT NULL
ORDER BY COUNT(a.Id) DESC

Същият изход, само подредбата на редовете е различна, заради включването на телефона в GROUP BY клаузата. Но това не е казано в условието.

2
nakov avatar nakov SoftUni Team Trainer 5295 Точки

Добра идея, препоръчвам да си пазите всички решения по време на изпита.

2
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.