Пользовательские функции
Как и функции на языках программирования, определяемые пользователем функции SQL Server являются подпрограммами, которые принимают параметры, выполняют действие, такие как сложный расчет, и возвращают результат этого действия в качестве значения. Возвращаемое значение может быть либо единичным скалярным значением, либо результирующим набором.
Преимущества определяемых пользователем функций
Зачем нужны определяемые пользователем функции (UDF)?
- Модульное программирование. Можно, однажды создав функцию, сохранить ее в базе данных, а затем любое число раз вызывать из своей программы. Определяемые пользователем функции могут быть изменены независимо от исходного кода программы.
- Быстрое выполнение. Как и хранимые процедуры, определяемые пользователем функции Transact-SQL снижают стоимость компиляции кода Transact-SQL путем кэширования планов и повторного использования их для повторяющихся выполнений. Это означает, что определяемая пользователем функция не требует повторного определения и повторного использования при каждом использовании, что приводит к гораздо более быстрому выполнению. Функции CLR обеспечивают значительное преимущество производительности функций Transact-SQL для вычислительных задач, обработки строк и бизнес-логики. Функции Transact-SQL лучше подходят для логики интенсивного доступа к данным.
- Уменьшение сетевого трафика. Операция, которая фильтрует данные на основе некоторых сложных ограничений, которые нельзя выразить в одном скалярном выражении, можно выразить как функцию. Ее можно вызвать из предложения WHERE, чтобы уменьшить число строк, возвращаемых клиенту.
Определяемые пользователем функции Transact-SQL в запросах могут выполняться только в одном потоке (последовательном плане выполнения). Поэтому использование определяемых пользователем функций запрещает параллельную обработку запросов. Дополнительные сведения о параллельной обработке запросов см. в статье Руководство по архитектуре обработки запросов.
Типы функций
Скалярные функции
Пользовательские скалярные функции возвращают одно значение типа данных, заданного в предложении RETURNS. Для встроенной скалярной функции возвращаемое скалярное значение является результатом одной инструкции. Для скалярной функции с несколькими статистиками текст функции может содержать ряд инструкций Transact-SQL, возвращающих одно значение. Такие функции могут возвращать любые типы данных, кроме text, ntext, image, cursorи timestamp. Примеры см. в статье «Создание определяемых пользователем функций (ядро СУБД)».
Функции с табличным значением
Определяемые пользователем табличные функции (TVFs) возвращают тип данных таблицы . Встроенная функция с табличным значением не имеет текста, таблица является результирующим набором одной инструкции. Примеры см. в статье «Создание определяемых пользователем функций (ядро СУБД)».
Системные функции
SQL Server предоставляет множество системных функций, которые можно использовать для выполнения различных операций. Их нельзя изменить. Дополнительные сведения см. в статьях о встроенных функциях (Transact-SQL), системных хранимых функциях (Transact-SQL) и динамических административных представлениях и функциях (Transact-SQL).
Рекомендации
Ошибки Transact-SQL, которые вызывают отмену инструкции и продолжаются с следующей инструкцией в модуле (например, триггеры или хранимые процедуры), обрабатываются по-разному внутри функции. В функциях такие ошибки вызывают остановку выполнения функции. Это вызывает отмену инструкции, вызвавшей функцию.
Операторы в блоке BEGIN. END не могут иметь побочных эффектов. Побочными эффектами функций называются любые постоянные изменения состояния ресурса, область которого лежит за пределами функции, например изменение таблицы базы данных. Инструкции внутри функции могут изменять только локальные по отношению к этой функции объекты, например локальные курсоры или переменные. Изменения таблиц базы данных, операции с курсорами, которые не являются локальными для функции, отправкой электронной почты, попыткой изменения каталога и созданием результирующий набор, возвращаемый пользователю, являются примерами действий, которые невозможно выполнить в функции.
CREATE FUNCTION Если инструкция создает побочные эффекты для ресурсов, которые не существуют при CREATE FUNCTION выпуске инструкции, SQL Server выполняет инструкцию. Однако SQL Server не выполняет функцию при вызове.
Время выполнения функции, указанной в запросе, может отличаться от планов выполнения, созданных оптимизатором. Примером является функция, вызываемая вложенным запросом в предложении WHERE . Число раз, когда вложенный запрос и его функция будут выполнены, может различаться для разных путей доступа, выбираемых оптимизатором.
Детерминированные функции должны быть привязаны к схеме. SCHEMABINDING Используйте предложение при создании детерминированной функции.
Дополнительные сведения и рекомендации по производительности определяемых пользователем функций см. в разделе «Создание определяемых пользователем функций» (ядро СУБД).
Инструкции, допустимые в функциях
К типам инструкций, допустимым внутри функций, относятся следующие.
- Инструкции DECLARE , используемые для определения переменных и курсоров, локальных для данной функции.
- Присвоение значений объектам, локальным для данной функции, например присвоение значений скалярным и табличным локальным переменным с помощью инструкции SET .
- Операции над курсорами, обращающиеся к локальным курсорам и выполняющие их объявление, открытие, закрытие и освобождение внутри функции. FETCH операторы, возвращающие данные клиенту, не допускаются. Разрешены только инструкции FETCH, присваивающие значения локальным переменным с помощью предложения INTO .
- Инструкции управления потоком, за исключением инструкций TRY. CATCH .
- Инструкции SELECT , содержащие списки выборки с выражениями, присваивающими значения переменным, локальным для данной функции.
- Инструкции UPDATE , INSERT и DELETE , изменяющие табличные переменные, локальные для данной функции.
- Инструкции EXECUTE , вызывающие расширенную хранимую процедуру.
Встроенные системные функции
Следующие недетерминированные встроенные функции могут быть использованы в определяемых пользователем функциях языка Transact-SQL.
- CURRENT_TIMESTAMP
- GET_TRANSMISSION_STATUS
- GETDATE
- GETUTCDATE
- @@CONNECTIONS
- @@CPU_BUSY
- @@DBTS
- @@IDLE
- @@IO_BUSY
- @@MAX_CONNECTIONS
- @@PACK_RECEIVED
- @@PACK_SENT
- @@PACKET_ERRORS
- @@TIMETICKS
- @@TOTAL_ERRORS
- @@TOTAL_READ
- @@TOTAL_WRITE
Следующие недетерминированные встроенные функции нельзя использовать в определяемых пользователем функциях на языке Transact-SQL.
- NEWID
- NEWSEQUENTIALID
- RAND
- TEXTPTR
Список детерминированных и недетерминированных встроенных системных функций см. в разделе Детерминированные и недетерминированные функции.
Привязанные к схеме функции
Инструкция CREATE FUNCTION поддерживает предложение SCHEMABINDING , позволяющее привязать функцию к схеме каких-либо объектов, на которые она ссылается, например таблиц, представлений и других пользовательских функций. Попытка изменения или удаления любого объекта, к которому обращается привязанная к схеме функция, приводит к ошибке.
Перед указанием предложения SCHEMABINDING в инструкции CREATE FUNCTION нужно соблюсти перечисленные ниже условия.
- Все представления и пользовательские функции, к которым обращается функция, должны быть привязаны к схеме.
- Все объекты, к которым обращается функция, должны находиться в той же базе данных, что и функция. Обращение к объектам должно производиться по однокомпонентным либо двухкомпонентным именам.
- Для всех объектов (таблиц, представлений и пользовательских функций), к которым обращается функция, должно быть получено разрешение REFERENCES .
Для удаления привязки к схеме можно использовать инструкцию ALTER FUNCTION . В инструкции ALTER FUNCTION следует переопределить функцию без указания предложения WITH SCHEMABINDING .
Указание параметров
Пользовательская функция может принимать 0 или более входных параметров и возвращать либо скалярное, либо табличное значение. Максимальное число входных параметров для функции равно 1024. Если для параметра функции установлено значение по умолчанию, необходимо указать ключевое слово DEFAULT при вызове функции, чтобы получить установленное по умолчанию значение. Это поведение отличается от использования параметров со значениями по умолчанию в пользовательских хранимых процедурах, в которых пропущенный параметр также принимает значение по умолчанию. Определяемые пользователем функции не поддерживают выходные параметры.
См. также
- Создание пользовательских функций (ядро СУБД)
- Создание функций CLR
- Создание пользовательских агрегатных функций
- Изменение пользовательских функций
- Удаление пользовательских функций
- Выполнение пользовательских функций
- Переименование пользовательских функций
- Просмотр пользовательских функций
Базы данных. Основы структурированных запросов SQL
Внимание! Все тесты в этом разделе разработаны пользователями сайта для собственного использования. Администрация сайта не проверяет возможные ошибки, которые могут встретиться в тестах.
Итоговое тестирование по теме Основы структурированных запросов SQL
Система оценки: 100 балльная
Список вопросов теста
Вопрос 1
Что из перечисленного относится к преимуществам SQL?
Варианты ответов
- SQL не относится к числу патентованных языков
- почти все СУБД поддерживают SQL
- SQL легко изучить, т.к. его немногочисленные инструкции состоят из простых русских слов
- при помощи SQL можно выполнять очень сложные операции с БД
Вопрос 2
Сопоставьте инструкции SQL и их описание.
Варианты ответов
- определение группы
- фильтрация на уровне групп
- перечисляются столбцы или выражения, которые должны быть получены
- обновление (модификация) данных
Вопрос 3
Является ли символ точка с запятой ( ; ), который обычно ставиться в конце каждой инструкции SQL обязательным?
Варианты ответов
- да
- нет
- зависит от СУБД
- нет правильного ответа
Вопрос 4
Какое ключевое слово извлекает уникальные строки?
Варианты ответов
Вопрос 5
Что из перечисленного описывает предложение ORDER BY?
Варианты ответов
- заставляет СУБД отсортировать данные в алфавитном порядке
- данные могут сортироваться и по столбцу, который не извлекается в самом запросе
- предложение ORDER BY должно стоять предпоследним в инструкции SELECT, в противном случае будет выдано сообщение об ошибке
- верны все описания
Вопрос 6
Какое ключевое слово используется для сортировки по убыванию (от Я до А)?
Варианты ответов
Вопрос 7
В каком предложении используются операторы AND, OR, NOT и IN?
Варианты ответов
- ORDER BY
- WHERE
- VALUES
- UPDATE
Вопрос 8
Сопоставьте операторы и описание к ним.
Варианты ответов
- Логическое «ИЛИ»
- Логическое «И»
- Указывает диапазон условий, любое из которых может быть выполнено
- Логическое «НЕ»
Вопрос 9
Какие символы относятся к метасимволам?
Варианты ответов
Вопрос 10
Что означает оператор IS NULL?
Варианты ответов
- указывает направление сортировки
- ограничивает результаты запроса
- сравнивает с диапазоном значений
- проверяет на отсутствие значения
Вопрос 11
Что означате понятие «поле» в БД?
Варианты ответов
- тоже самое, что и столбец
- тоже самое, что и строка
Вопрос 12
Сколько слов можно использовать в псевдониме?
Варианты ответов
- одно
- два
- три и более
- как можно меньше, т.к. псевдонимы применяются для переименования многословных названий столбцов в однословное
Вопрос 13
Какие операторы используются для математических вычислений?
Варианты ответов
Вопрос 14
Для обновления (модификации) данных какой-либо таблицы предназначена инструкция UPDATE, при помощи которой можно:
Варианты ответов
- обновить определенные строки в таблице
- переименовать таблицу
- обновить все строки в таблице
- нет правильного ответа
Вопрос 15
Какое значение нужно присвоить столбцу в инструкции UPDATE, чтобы удалить данные из него?
Варианты ответов
- ввести имя столбца и указать в одинарных кавычках пробел
- присвоить столбцу значение NULL
- оба варианта верны
- нет правильного ответа
Вопрос 16
Сопоставить функции и описание к ним.
Что из перечисленного относится к преимуществам sql
[ q ] 1:1: Использование вычислительной техники невозможно без рациональной организации информационной базы и обеспечения эффективного доступа к ней пользователя – это…
[a] [+] цель банка данных
[a] задача банка данных
[a] функция банка данных
[a] цель базы данных
[a] задача базы данных
[ q ] 2:1: Автоматизированная система, представляющая совокупность информационных, программных, технических, методических средств и персонала, обеспечивающих хранение, накопление, обновление, поиск и выдачу данных.
[a] база данных (БД)
[a] [+] банк данных (БнД)
[a] информационная система (ИС)
[a] информационная технология (ИТ)
[a] система управления базой данных (СУБД)
[ q ] 3:1: Что из ниже перечисленного не относится к преимуществам банковской организации данных?
[a] непротиворечивость и целостность информации
[a] интегрированное хранение данных
[a] сокращение избыточности хранимых данных
[a] [+] иерархическая структура зависимости данным
[a] наличие специальных языковых и программных средств для организации хранения, корректировки и доступа к данным
[ q ] 2:1: Что из ниже перечисленного не относится к требованиям БнД?
[a] адекватность отображения предметной области (полнота, целостность, непротиворечивость, актуальность данных)
[a] дружелюбность интерфейсов и малое время на освоение системы
[a] [+] обеспечение взаимной зависимости программ и данных
[a] надежность функционирования БнД, защита данных, возможность быстрого и полного восстановления данных в случае их разрушения
[a] динамичность данных
[ q ] 2:1: Специальным образом организованное хранение информационных ресурсов (совокупность файлов) в виде интегрированной системы, обеспечивающей удобное взаимодействие между ними и быстрый доступ к данным.
[a] система управления базой данных (СУБД)
[a] банк данных (БнД)
[a] [+] база данных (БД)
[a] файл
[a] запись
[ q ] 1:1: Элементарная единица логической организации данных, которая соответствует неделимой единице информации – реквизиту.
[a] файл
[a] запись
[a] тип
[a] [+] поле
[a] ключ
[ q ] 1:1: Совокупность логически связанных (данных) полей. Экземпляр записи – отдельная реализация записи, содержащая конкретные значения ее полей.
[a] [+] запись
[a] тип
[a] ключ
[a] поле
[a] файл
[ q ] 1:1: Совокупность экземпляров записей одной структуры
[a] [+] файл
[a] поле
[a] запись
[a] тип
[a] ключ
[ q ] 1:1: Отличительная черта БД?
[a] жесткая привязка данных к программам
[a] файловая структура
[a] [+] хранение данных с их описаниями
[a] избыточность информации
[a] физическое описание данных
[ q ] 1:1: Инструкции, рекомендации по созданию и функционированию БнД, выбору СУБД, регламентирующие материалы, предназначенные для пользователей разных категорий, взаимодействующих с БнД
[a] [+] методические средства БнД
[a] технические средства БнД
[a] технологические средства БнД
[a] администратор БнД
[a] пользователь БнД
[ q ] 1:1: Комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями
[a] БнД
[a] [+] СУБД
[a] БД
[ q ] 1:1: Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно составляющих БД, так и для хранения служебной информации, например, для хранения информации о структуре БД.
[a] [+] непосредственное управление данными во внешней памяти
[a] управление буферами оперативной памяти
[a] управление транзакциями
[a] журнализация
[a] поддержка языков БД
[ q ] 3:1: Дана таблица, созданная с помощью SQL-выражения:
CREATE TABLE STUDENTS (
ID INTEGER PRIMARY KEY,
FIRST_NAME VARCHAR(50) NOT NULL,
LAST_NAME VARCHAR(50) NOT NULL,
ADDRESS VARCHAR(100))
Какие запросы позволят добавить запись в эту таблицу?
[a] [+] INSERT INTO students(id, first_name, last_name) VALUES (1, ‘Name’, ‘Surname’);
[a] INSERT INTO students(id, first_name) VALUES (2, ‘Name’);
[a] INSERT INTO students VALUES (3, ‘Name’, null, NULL);
[a] INSERT INTO students VALUES (4, NULL, ‘Surname’, NULL);
[a] INSERT INTO students(id, first_name) VALUES (2, ‘Name’,NULL);
[ q ] 1:1: Сколько строк может быть удалено из таблицы с помощью валидного DELETE выражения (выберите наиболее точный вариант ответа)?
[a] [+] 0 и более
[a] 1 и более
[a] все строки
[ q ] 2:1: Отличаются ли в SQL операторы AND и &(амперсанд)?
[a] Приоритет AND выше, чем приоритет &
[a] Оператор & не поддерживается стандартом SQL
[a] [+] AND имеет более низкий приоритет по сравнению с &
[a] Между ними нет отличий
[ q ] 2:1: Укажите все запросы, которые эквивалентны следующему:
select * from numbers where textvalue = ‘one’
[a] select * from numbers where textvalue like one
[a] select * from numbers where textvalue like ‘one%’
[a] [+] select * from numbers where textvalue like ‘one’
[a] select * from numbers where textvalue like ‘%one%’
[a] select * from numbers where textvalue like ‘%one’
[ q ] 3:1: В базе данных имеется таблица Employees, содержащая столбец AutoNum (строковый тип данных — гос.номер автомобиля сотрудника). В столбце AutoNum содержатся цифробуквенные значения, например ‘A338МВ38’.
Вы хотите найти сотрудника, у которого две первые цифры номера (т.е 2-й и 3-й символы) равны ’74’. Какое условие в запросе SELECT вы используете?
[a] [+] WHERE AutoNum LIKE ‘_74%’
[a] WHERE AutoNum [2,2] = ‘74’
[a] WHERE AutoNum LIKE ‘%74%’
[a] WHERE LEFT (AutoNum, 2,2) = ‘74’
[a] WHERE AutoNum LIKE ‘_74’
[ q ] 3:1: Дана пустая таблица, созданная с помощью выражения:
create table simple_tab (col1 varchar primary key);
Какие из перечисленных запросов отработают корректно:
[a] [+] insert into simple_tab ( col1 ) values ( ‘bb’ );
[a] insert into simple_tab values ( ‘a\’a’ );
[a] insert into simple_tab values ( null );
[a] insert simple_tab values ( ‘aa’ );
[a] insert into simple_tab values ( aa);
[ q ] 3:1: Дана пустая таблица publisher с колонками id и name. На id стоит автоинкремент, а name имеет тип varchar(40). Какие из следующих запросов корректно отработают:
[a] insert into publisher (name) values (‘O’,’ Reilly’);
[a] insert publisher (name) values (‘O-Reilly’);
[a] [+] insert into publisher (name) values (‘OREILLY’);
[a] insert into publisher (name) values (‘O’Reilly’);
[a] insert into publisher (‘OReilly’);
[q] 2:1: Дана таблица Persons:
| LastName|
С помощью какого запроса можно поместить значение ‘Perez’ в поле LastName таблицы Persons?
[a] [+] INSERT INTO Persons (LastName) VALUES (‘Perez’)
[a] INSERT INTO Persons (‘Perez’) INTO LastName
[a] INSERT INTO Persons VALUE (‘Perez’)
[a] INSERT (‘Perez’) INTO Persons (LastName)
[a] INSERT Persons VALUE (‘Perez’)
[ q ] 1:1: Даны следующие таблицы:
Name Age
Snoopy 4
Benny 2
Name Age
Kleo 3
Linda 6
ANIMALS
Name Age
Name имеет тип char(10), а Age — number(10).
Выберите некорректный insert запрос
[a] [+] INSERT INTO ANIMALS (11, ‘Kay’);
[a] INSERT INTO ANIMALS (Age, Name) VALUES(1,’Pam’);
[a] INSERT INTO ANIMALS VALUES (‘KLEO’, 3);
[a] INSERT INTO ANIMALS SELECT * FROM CATS;
[a] INSERT INTO ANIMALS (Age, Name) SELECT Age, Name FROM CATS;
[ q ] 3:1: Дано две таблицы: офисы (offices) и города (cities), в которых эти офисы расположены. Таблицы связаны по city_id. На текущий момент в таблицах есть следующие данные:
offices
|office_id|name|city_id|
| 1|of1 | 22|
| 2|of2 | 3|
| 3|of3 | 7|
cities
|city_id| name |
| 3| Kiev |
| 22| Lviv |
| 25| Krigopol |
Какие из запросов в результате вернут 3 строки?
[a] [+] select offices.name, cities.name from offices right outer join cities on offices.city_id=cities.city_id;
[a] select offices.name, cities.name from offices cross join cities
[a] select offices.name, cities.name from offices full outer join cities on offices.city_id=cities.city_id;
[a] select offices.name, cities.name from offices inner join cities on offices.city_id=cities.city_id;
[a] select offices.name, cities.name from offices
[ q ] 3:1: Дана таблица, созданная с помощью SQL-выражения:
CREATE TABLE STUDENTS (
ID INTEGER PRIMARY KEY,
FIRST_NAME VARCHAR(50) NOT NULL,
LAST_NAME VARCHAR(50) NOT NULL,
ADDRESS VARCHAR(100)
Какие запросы позволят добавить запись в эту таблицу?
[a] INSERT INTO students VALUES (4, NULL, ‘Surname’, NULL);
[a] INSERT INTO students(id, first_name) VALUES (2, ‘Name’);
[a] INSERT INTO students VALUES (‘Name’, ‘Surname’, NULL);
[a] [+] INSERT INTO students(id, first_name, last_name) VALUES (1, ‘Name’, ‘Surname’);
[a] INSERT INTO students(id, first_name, last_name) VALUES (1, null, ‘Surname’);
[q] 2:1: Дана таблица Clients
| ID | Name | Summa |
| 1 | Sasha |4000 |
| 2 | Marina | 2000 |
| 3 | Stepan | 0 |
| 4 | Klara | NULL |
После обновления таблицы:
UPDATE Clients SET Summa = Summa + 700
Какой будет результат выполнения запроса
SELECT AVG(Summa) FROM Clients;
[a] 2000
[a] [+] 2700
[a] 3000
[a] Запрос завершится ошибкой из-за присутствия NULL
[a] UNKNOWN
[ q ] 2:1: Какое ключевое слово используется для изменения объектов базы данных?
[a] CHANGE
[a] VARY
[a] MODIFY
[a] INTERCHANGE
[a] [+] ALTER
[q] 2:1: Дана таблица Persons:
| Id | FirstName | Age|
| 1 | Kate | 100 |
| 2 | Misha | 0 |
| 3 | Nick | NULL |
| 4 | Larisa | 200 |
Каков будет результат выполнения следующего запроса:
SELECT AVG (Age) FROM Persons
[a] Запрос не выполнится (завершится ошибкой), поскольку присутствует NULL
[a] UNKNOWN, поскольку присутствует NULL
[a] [+] 100
[ q ] 1:1: Имеется таблица Women
| Id | FirstName | Score |
| 1 | Angelina | 500 |
| 2 | Paris | 0 |
| 4 | Jennifer | NULL |
| 7 | Misha | 3000 |
Сколько строк вернет запрос
SELECT * FROM Women
WHERE Score >= ALL (SELECT Score
FROM Women
WHERE FirstName=’Eva’);
[a] Запрос содержит ошибку и не выполнится
[ q ] 1:1: Ниже представлены 2 столбца таблицы Elements
| Name| Year |
| Au | NULL |
| Be | 1798 |
| Fr | 1939 |
| Uus | 2010 |
Сколько строк вернет запрос:
SELECT * FROM Elements
WHERE Year NOT IN (SELECT Year FROM Elements)
[a] Запрос содержит ошибку и не выполнится
[ q ] 1:1: Оператор сцепления (конкатенации) выглядит таким образом:
[q] 1:1: Дана таблица cars:
Каким будет результат следующего запроса:
SELECT COUNT(DISTINCT color) FROM cars
[a] blue
[a] null
[ q ] 3:1: С помощью какого update-запроса можно обновить значения более чем одной колонки?
[a] UPDATE table_name SET col1_name = ‘col1val’ SET col2_name = ‘col2val’;
[a] Одним запросом можно обновить не более одной колонки
[a] UPDATE table_name SET col1_name = ‘col1val’ and SET col2_name = ‘col2val’;
[a] [+] UPDATE table_name SET col1_name = ‘col1val’, col2_name = ‘col2val’;
[a] UPDATE table_name SET col1_name = ‘col1val’ and SET col2_name = ‘col3val’;
[ q ] 2:1: Для чего применяются индексы в БД?
[a] для отката изменений
[a] [+] для ускорения доступа к данным
[a] для успешного завершения транзакций
[a] они не приминяются
[a] для объединения таблиц
[ q ] 2:1: Какими запросами можно получить все поля и записи таблицы Employers
[a] SELECT *.Employers
[a] SELECT Employers
[a] SELECT [all] FROM Employers
[a] [+] SELECT * FROM Employers
[a] SELECT * Employers
[ q ] 2:1: Чему эквивалентен следующий запрос:
SELECT * FROM product WHERE price BETWEEN 100 AND 200;
[a] [+] SELECT * FROM product WHERE price >= 100 AND price
[a] SELECT * FROM product WHERE price > 100 OR price < 200;
[a] SELECT * FROM product WHERE price = 200;
[a] SELECT * FROM product WHERE price < 100 OR price >200;
[a] SELECT * FROM product WHERE price > 100 AND price < 200;
[ q ] 3:1: Дана пустая таблица, созданная с помощью выражения:
create table simple_tab (col1 varchar primary key);
Какие из перечисленных запросов отработают корректно:
[a] insert into simple_tab values ( null );
[a] [+] insert into simple_tab ( col1 ) values ( ‘bb’ );
[a] insert into simple_tab values ( aa );
[a] insert into simple_tab values ( ‘a\’a’ );
[a] insert into simple_tab values ( 0);
[ q ] 2:1: Выберите верный синтаксис DELETE выражений.
[a] [+] DELETE FROM WHERE
[a] DELETE FROM ORDER BY
[a] DELETE WHERE
[a] DELETE FROM HAVING
[a] DELETE INTO
[ q ] 1:1: Какой знак в запросах с использованием LIKE соответствует произвольному количеству символов в строке?
[ q ] 2:1: Какая ошибка в этом запросе?
UPDATE books SET sales_1999 >
(SELECT SUM(qty * price)
FROM sales
WHERE sales.book_id = books.id
AND sales.date BETWEEN ’01/01/1999′ AND ’12/31/1999′)
[a] Вы не можете использовать подзапрос для SET внутри оператора UPDATE. 371 / 1904
[a] [+] Следует использовать знак (=) для подзапроса. 1035 / 1904
[a] Вы не можете использовать арифметические операторы для функции SUM() (например SUM(qty * price)). 326 / 1904
[a] Ключевое слово BETWEEN нельзя использовать для символов или дат.
[q] 2:1: Дана таблица Users:
| ID | NAME | PASSWORD | ADDBY |
| EX | IRWANEX | AB8934B495S | NULL |
Получим ли мы единственную запись таблицы Users с помощью запроса:
SELECT * FROM USERS WHERE ADDBY = NULL
[a] [+] Нет
[a] Выдаст ошибку
[a] Зависит о СУБД
[ q ] 3:1: Что верно о следующем SQL выражении:
CREATE TABLE persons AS SELECT name, surname FROM person;
[a] Выражение составлено неверно
[a] Это выражение создаст пустую таблицу persons с колонками name и surname
[a] [+] Это выражение создаст таблицу persons с колонками name и surname и соответствующими данными из таблицы person
[a] Это выражение создаст таблицу persons с колонками name и surname, соответствующими данными из таблицы person, а так же индексами, как у таблицы person
[ q ] 2:1: Дана таблица, созданная с помощью SQL-выражения:
CREATE TABLE STUDENTS (
ID INTEGER PRIMARY KEY,
FIRST_NAME VARCHAR(50) NOT NULL,
LAST_NAME VARCHAR(50) NOT NULL,
ADDRESS VARCHAR(100)
Какие запросы позволят добавить запись в эту таблицу?
[a] [+] INSERT INTO students(id, first_name, last_name) VALUES (1, ‘Name’, ‘Surname’);
[a] INSERT INTO students VALUES (4, NULL, ‘Surname’, NULL);
[a] INSERT INTO students VALUES (3, ‘Name’, null, NULL);
[a] INSERT INTO students(id, first_name) VALUES (2, ‘Name’);
[ q ] 2:1: Какое ключевое слово используется для фильтрации значений, полученных в результате применения агрегирующих функций в результатах запроса с использованием GROUP BY?
[a] WHERE
[a] [+] HAVING
[a] И WHERE, и HAVING
[a] Ни одно из перечисленных
[a] select
[ q ] 2:1: Дана пустая таблица, созданная с помощью выражения:
create table simple_tab (col1 varchar primary key);
Какие из перечисленных запросов отработают корректно:
[a] insert into simple_tab values ( aa );
[a] insert into simple_tab values ( null );
[a] insert into simple_tab values ( ‘a\’a’ );
[a] [+] insert into simple_tab ( col1 ) values ( ‘bb’ );
[ q ] 2:1: Дана пустая таблица, созданная с помощью выражения:
create table simple_tab (col1 char unique);
Какие из перечисленных запросов успешно выполнятся:
[a] [+] insert into simple_tab values ( ‘a’ );
[a] insert into simple_tab values ( null );
[a] insert into simple_tab values ( »» );
[a] insert into simple_tab values ( 4 );
[a] insert simple_tab values ( »c» );
[q] 3:1: Что делает опция ESCAPE в следующем выражении SQL: SELECT ProductName, ProductCode FROM Products LIKE ‘GA_00_A’ ESCAPE ‘A’;?
[a] Позволяет исключить из выборки значения, в которых встречается символ ‘A’
[a] [+] Позволяет интерпретировать символ подчеркивания в строке как обычный символ, если он стоит после ‘A’
[a] Позволяет исключить из выборки значения, в которых третий и шестой символы ‘A’
[a] Позволяет интерпретировать символ подчеркивания в строке как обычный символ, если он стоит перед ‘A’
[a] В SQL такой опции нет
[ q ] 2:1: Какие из следующих ключевых слов SQL могут быть использованы для выполнения CRUD (Create, Read, Update, Delete) операций над данными?
[a] COMMIT ALTER
[a] DROP CREATE
[a] [+] DELETE, INSERT, UPDATE, SELECT
[a] TRUNCATE
[a] SELECT
[ q ] 2:1: Есть таблица People со следующими записями:
ID FirstName LastName Sex
1 John Reyna M
2 Jake Wild M
3 Cathy Armstrong F
4 Jake Earl M
Сколько записей возвратит такой запрос:
SELECT ID, Sex FROM PEOPLE WHERE
(FirstName=’John’ AND FirstName=’Jake’)
OR LastName=’Wild’
[a] Запрос не выполнится, так как содержит ошибку
[ q ] 3:1: Укажите корректные команды INSERT из перечисленных:
[a] INSERT INTO students (id, first_name, last_name) SELECT id, first_name FROM new_students WHERE last_name IS NULL
[a] INSERT INTO students SELECT VALUES (95, ‘Bill’, ‘Enzo’)
[a] INSERT INTO students (id, first_name, last_name)
[a] INSERT INTO students (id, first_name, last_name) (118, ‘Ellen’, ‘Moran’)
[a] [+] INSERT INTO students (id, first_name, last_name) VALUES (100, ‘Kim’, ‘Matheson’)
[ q ] 1:1: Какие из следующих ключевых слов используются в конструкции order by (выберите все подходящие варианты)?
[a] [+] asc, desc
[a] having
[a] dasc
[ q ] 1:1: Дана таблица Friends со следующими записями:
ID | NAME | AGE
01 | Frank | 18
02 | Sharon | NULL
03 | John | 20
04 | Jennifer | NULL
Сколько записей будет удалено в результате выполнения выражения:
DELETE FROM Friends WHERE AGE = NULL;
[ q ] 1:1: С помощью какого запроса можно удалить все записи из таблицы A?
[a] delete A
[a] [+] delete from A
[a] delete table A
[a] Delete
[a] Ни один из вышеперечисленных
[ q ] 1:1: Какое ключевое слово запрещено использовать совместно с оператором ROLLUP?
[a] HAVING
[a] GROUP BY
[a] LIMIT
[a] [+] ORDER BY
[a] WHERE
[q] 2:1: Инструкция языка SQL — ORDER BY определяет:
[a] порядок выборки данных
[a] [+] порядок сортировки результатов
[a] порядок сортировки полей при выборке
[a] группировка полей
[a] ничего из вышеперечисленного
[ q ] 2:1: Какова функция команды GRANT в SQL?
[a] Для смены пароля и логина пользователей
[a] Оставить все изменения в БД, до тех пор пока не закончится старая транзакция и не начнется новая.
[a] Отмечает начало блока в котором описаны команды другого языка
[a] [+] Передача прав для выполнения определенных действий над таблицей
[q] 2:1: Имеется таблица Students
| SId | FirstName | Score |
| 1 | Kate | 100 |
| 2 | Misha | 0 |
| 3 | Nick | NULL |
| 4 | Larisa | 200 |
| 5 | Misha | 150 |
| 6 | Larisa | 50 |
| 7 | Misha | 50 |
| 8 | Kate | 100 |
Каков будет результат следующего запроса:
SELECT MAX(SUM(Score))
FROM Students
GROUP BY FirstName;
[a] Запрос не выполнится из-за наличия значения NULL
[a] [+] Запрос содержит ошибку в синтаксисе и не выполнится
[ q ] 2:1: Выберите команду для создания таблиц
[a] SELECT
[a] ALTER TABLE
[a] [+] CREATE TABLE
[a] DROP TABLE
[a] CREATE VIEW
[ q ] 2:1: Выберите команду для выборки данных из таблиц
[a] ALTER
[a] CREATE
[a] DROP
[a] DELETE
[a] [+] SELECT
[ q ] 2:1: Команда вставки данных
[a] [+] INSERT INTO
[a] DROP TABLE
[a] DELETE FROM TABLE
[a] SELECT
[a] CREATE VIEW
[q] 2:1: ORDER BY – Это
[a] Группировка данных
[a] Вставка данных
[a] [+] Сортировка данных
[a] Условие выборки
[a] Запрос на выдачу данных
[ q ] 2:1: GROUP BY – ЭТО
[a] [+] Группировка данных
[a] Сортировка данных
[a] Выборка данных
[a] Удаление данных из таблиц
[a] Удаление таблиц
[ q ] 2:1: Запрос на выборку всех данных из таблицы EMP имеющей 2 столбца
[a] [+] SELECT * FROM EMP;
[a] SELECT KOD FROM EMP WHERE KOD=1;
[a] SELECT FROM EMP
[a] DELETE FROM (SELECT * FROM EMP);
[a] INSERT INTO EMP VALUES(1, NULL);
[ q ] 2:1: Что произойдет в результате выполнения INSERT INTO EMP VALUES(12);
[a] Произойдет ошибка так как не хватает раздела
[a] [+] Запрос вставит данные в таблицу emp
[a] Произойдет удаление данных из таблицы emp
[a] UNKNOWN
[ q ] 2:1: Какой из приведенных типов данных не используется в стандарте SQL
[a] INTEGER
[a] REAL
[a] DOUBLE PRECISION
[a] SMALINT
[a] [+] VARCHAR2
[ q ] 2:1: Что делает данная команда
CREATE TABLE Student
( Fam char (30) NOT NULL,
Im char (30) NOT NULL,
Adres char (50),
PRIMARY KEY (Fam));
[a] Создает таблицу с 4 полями
[a] [+] Создает таблицу с 3 полями
[a] Команда не выполнится
[a] Устанавливает первичный ключ в таблицу
[a] Создает представление
[ q ] 2:1: Дана таблица
CREATE TABLE Student
( Fam char (30) NOT NULL,
Im char (30) NOT NULL,
Adres char (50),
PRIMARY KEY (Fam));
Что выполнит следующая команда
ALTER TABLE STUDENT MODIFY(im char(35));
[a] [+] Увеличит столбец im до 35 знаков
[a] Создаст столбец im
[a] Команда не выполнится так как имя таблицы не верное
[a] Команда не выполнится так как имя столбца не верно написан
[a] Нет правильных вариантов
[ q ] 2:1: Дана таблица
CREATE TABLE Student
( Fam char (30) NOT NULL,
Im char (30) UNIQUE,
Adres char (50),
PRIMARY KEY (Fam));
Что выполнит следующая команда
ALTER TABLE STUDENT DISABLE UNIQUE(im );
[a] Модифицирует поле
[a] Включает UNIQUE
[a] [+] Отключает UNIQUE
[a] Ничего из вышеперечисленного
[ q ] 2:1: Поддерживает ли SQL Server коннект через ODBC?
[a] Зависит от БД
[a] Такого драйвера не существует
[ q ] 2:1: Что входит в основные обязанности администратора баз данных SQL Server?
[a] [+] установка и настройка SQL Server
[a] конфигурирование сервера, на котором установлен MS SQL
[a] обеспечение пользователя установочным файлом
[a] ничего из перечисленного
[ q ] 2:1: Пусть определена локальная переменная @var типа int. Укажите все правильные способы присвоения значений переменной @var:
[a] SET @var = 1
[a] [+] SELECT @var = 1
[a] DECLARE @var int 1
[a] @var = 1
[ q ] 2:1: Для чего SQL Server использует стандартную базу pubs?
[a] Хранит роли используемые для доступа к базам данных
[a] Хранит системные процедуры и функции для всех баз сервера
[a] Хранит лог транзакций выполненных на сервере
[a] [+] Хранит образцы баз данных для учебных целей
[ q ] 2:1: Какой вариант выборки из таблицы 9-ти значных чисел вернет правильный результат?
[a] [+] SELECT col1 FROM test WHERE col1 BETWEEN 100000000 AND 999999999
[a] SELECT col1 FROM test where col1>= power(10., 9) col1 < power(10., 10)
[a] SELECT col1 FROM test where col1>= power(10., 9) 70 / 461
[a] SELECT COUNT(col1,9) FROM test
[ q ] 2:1: Что вернется в результате выполнения запроса Select 1?
[a] Ошибка
[a] Select 1
[a] NULL
[ q ] 1:1: Какие базы данных создаются автоматически при установке SQL Server?
[a] [+] model , msdb
[a] test
[a] distribution
[a] Testdb
[ q ] 2:1: Что отобразится в результате выполнения запроса
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
[a] Информация о процедурах содержащихся в базе данных
[a] [+] Информация о колонках содержащихся в базе данных
[a] Информация о триггерах содержащихся в базе данных
[a] Информация об ошибках при создании колонок, содержащихся в базе данных
[ q ] 2:1: Что выдаст следующий код (при стандартных настройках сервера):
DECLARE @str1 char(10), @str2 varchar(10)
SET @str1 = ‘SQL’
SET @str2 = ‘SQL’
SELECT len(@str1 + @str2)
[a] выдаст ошибку
[a] Ничего из вышеперечисленного
[ q ] 1:1: Какой оператор используется для удаления записей в таблице?
[a] [+] DELETE
[a] UPDATE
[a] DROP
[a] SELECT
[a] INSERT
[ q ] 1:1: Отметьте не верные форматы для имен объектов:
[a] Сервер.БазаДанных.Схема.Объект
[a] [+] Объект.Схема
[a] БазаДанных..Объект
[a] БазаДанных.Схема.Объект
[ q ] 1:1: Поддерживает ли SQL Server неявное преобразование типов?
[a] Зависит от типа
[a] Зависит от версии
[ q ] 2:1: Какие операции можно выполнить с базой данных tempdb?
[a] Изменение владельца базы данных
[a] Удаление базы данных
[a] Резервное копирование и восстановление из копии
[a] [+] Никакие из вышеперечисленных
[ q ] 2:1: Каким будет результат выполнения запроса
SET DATEFORMAT dmy;
SELECT DATEADD(MONTH, 3, ’29/11/10′)
[a] 2011-02-29 00:00:00.000
[a] 2014-11-29 00:00:00.000
[a] 2010-12-02 00:00:00.000
[a] [+] 2011-02-28 00:00:00.000
[ q ] 1:1: Могут ли хранимые процедуры для SQL Server быть написаны на языках платформы .NET?
[a] Зависит от версии
[a] Зависит от языка
[ q ] 1:1: Какая функция используется для получения текущей даты и времени?
[a] TIMESTAMP()
[a] DATE()
[a] [+] GETDATE()
[ q ] 2:1: Каких ролей в SQL Server не существует?
[a] Фиксированные серверные роли
[a] Фиксированные роли баз данных
[a] Роли определенные пользователем
[a] [+] Фиксированные роли для таблиц баз данных
[ q ] 1:1: Что можно узнать из системного журнала?
[a] [+] данные о регулярных работах
[a] транзакции выполненые пользователями
[a] ничего из перечисленного
[a] Объем бд
[ q ] 1:1: Возможно ли в SQL Server создать JOB для создания резервной копии базы данных с периодичностью в один месяц?
[a] Зависит от версии
[a] Нет такой возможности
[ q ] 1:1: Выберите все варианты комментариев, разрешенные в SQL Server:
[a] [+] — text comment
[a] +/ text comment/
[a] !— text comment
[a] // text comment
[q] 1:1: MS SQL Server Database Engine поддерживает работу с:
[a] [+] OLTP системами
[a] OLАP системами
[a] OLTP и OLАP системами
[a] Ни с OLTP, ни с OLАP системами
[ q ] 1:1: Что возвратится в результате выполнения select ’15’+2?
[a] Ошибка
[ q ] 2:1: Что произойдет при выполнении следующего скрипта:
create table test (col1 char)
insert into test values(‘1’)
[a] Возвратится ошибка при создании таблицы
[a] Возвратится ошибка при попытке выполнить INSERT
[a] [+] Произойдет вставка в таблицу test значения ‘1’
[a] Будет возвращено две ошибки
[ q ] 3:1: Для чего используется утилита SQLCMD?
[a] [+] Предназначена для нерегулярного запуска нерегламентированных инструкций и сценариев Transact-SQL
[a] Предназначена для регулярного запуска регламентированных инструкций и сценариев Transact-SQL
[a] предназначена для нерегулярного запуска регламентированных инструкций и сценариев Transact-SQL
[a] Предназначена для установки привилегий через командную строку через удаленный клиент
[ q ] 2:1: Каких объектов не существует в SQL Server?
[a] [+] Constant
[a] Constraint
[a] Default
[a] User-defined function
[q] 3:1: Что содержит себе cистемная таблица sysobjects?
[a] Содержит по одной строке на каждую системную ошибку или предупреждение, которые может вернуть SQL Server.
[a] Содержит по одной строке на каждую базу данных.
[a] Содержит одну строку для каждого аккаунта пользователя, который может присоединиться к SQL Server.
[a] [+] Содержит по одной строке на каждый объект базы данных.
[ q ] 3:1: Что такое пулинг соединений (connection pooling)?
[a] Это технология сохранения активных подключений на сервере БД с возможностью повторного использования на клиенте.
[a] [+] Это технология сохранения открытых подключений на клиенте с возможностью повторного использования.
[a] Это технология сохранения активных подключений на клиенте с возможностью повторного использования на сервере БД для отправки ответов на запросы
[a] Это технология сохранения активных подключений на сервере БД с возможностью повторного использования для отправки ответов на запросы клиента.
[ q ] 3:1: Можно ли использовать оператор UPDATE для обьектов View?
[a] Можно всегда
[a] [+] Можно, но только для обновления колонок одной таблицы и при установки свойства Bind to Schema в значение Yes.
[a] Нельзя
[a] Нет правильного ответа
[ q ] 2:1: В SQL Server создана таблица tb_ts имеющая одну колонку типа integer, что произойдет при выполнении скрипта:
declare @var integer
insert into tb_ts values(@var)
[a] В таблицу tb_ts вставится пустая строка
[a] [+] В таблицу tb_ts вставится значение NULL
[a] Произойдет ошибка
[a] Запросит у пользователя ввод значения переменной @var
[ q ] 3:1: Под управлением MS Sql Server 2005 существуют 2 базы данных, идентичные по структуре. При заполнении некоторых таблиц одной из баз необходимо синхронно заполнять этими же данными аналогичные таблицы второй базы, какой из предложенных вариантов наиболее эффективен в данной ситуации?
[a] Создать специальные системные процедуры
[a] Воспользоваться триггерами
[a] [+] Воспользоваться репликацией баз данных
[a] Это невозможно сделать
[ q ] 1:1: Что возвратится в результате выполнения select ’15’+’2′?
[a] [+] ‘152’
[ q ] 1:1: Создания какого оператора не существует в MS SQL?
[a] [+] CREATE LIST
[a] CREATE ENDPOINT
[a] CREATE DEFAULT
[a] CREATE CONTRACT
[q] 3:1: Таблица test содержит две колонки: ID INT IDENTITY NOT NULL PRIMARY KEY, Name VARCHAR(40) NOT NULL. Укажите правильный вариант вставки данных.
[a] INSERT INTO test (ID, Name) VALUES (3, ‘Garden shovel’)
[a] INSERT INTO test () VALUES (‘Garden shovel’)
[a] [+] SET IDENTITY_INSERT test ON GO INSERT INTO test (ID, Name) VALUES (3, ‘Garden shovel’)
[a] INSERT INTO test VALUES (3, ‘Garden shovel’)
[ q ] 3:1: В чём заключается основное отличие правил (RULES) от триггеров (TRIGGERS)?
[a] [+] Правила срабатывают на этапе разбора запроса, ещё до выполнения, а триггеры — реакция на изменение данных.
[a] Правила полностью аналогичны триггерам, но срабатывают раньше них
[a] Правила — реакция на изменение данных, а триггеры замещают операции
[a] Ничего из вышеперечисленного
[ q ] 1:1: Предложения ON UPDATE и ON DELETE могут применяться в операторах:
[a] [+] CREATE TABLE
[a] CREATE PROCEDURE
[a] SELECT
[a] CREATE FUNCTION
[a] UPDATE
[ q ] 2:1: За что отвечает роль Database creators (dbcreator)?
[a] Управление файлами на диске
[a] [+] Создание и удаление баз данных
[a] Управление аудитом и именами пользователей
[a] Выполнение BULK INSERT оператора
[ q ] 2:1: Какие технологии, поддерживаемые Microsoft SQL Server 2005, обеспечивают автоматическую отказоустойчивость экземпляра базы данных?
[a] [+] Зеркалирование базы данных, Кластеризация
[a] Транзакционная репликация
[a] Кэширование
[a] Доставка журналов транзакций
[ q ] 3:1: Есть таблица tt имеющая две колонки col1 и col2 типа char:
col1: | col2:
w | null
q | null
q | null
Необходимо получить col1, количество повторений в таблице, количество значений null для col1:
col1: col2: nulls:
w 2 1
z 1 0
Какие из приведенных запросов вернут требуемый результат (выберите все подходящие варианты)?
[a] [+] select col1, count(*) col2, sum(case when col2 is null then 1 else 0 en[a] CountNulls from tt group by col1
[a] select col1, count(*) col2, col1+from tt group by col1
[a] select col1, count(*) col2, count(*)-count(col2) CountNulls group by col1 select col1, count(*) col2, count(*)-count(col1) CountNulls
[a] from tt group by col1
[ q ] 1:1: Какие типы допускаются как тип возвращаемого значения для функции?
[a] ntext
[a] timestamp
[a] [+] nvarchar
[a] image
[a] text
[ q ] 2:1: Что нельзя узнать из системного журнала?
[a] данные о регулярных работах
[a] результаты наблюдений
[a] [+] транзакции выполненые пользователями
[a] сбои системы
[ q ] 2:1: Временные таблицы с префиксом # хранятся.
[a] в системной базе данных msdb
[a] в системной базе данных workdb
[a] [+] в системной базе данных tempdb
[a] во временном файле системного каталога Windows Temp
[ q ] 1:1: Что является признаком временной таблицы при ее создании через CREATE TABLE?
[ q ] 3:1: Для каких целей служит объект Rule в SQL Server?
[a] Обеспечивает средство для просмотра данных из одной или нескольких таблиц или баз данных
[a] Описывает информацию о том, какие значения разрешены для хранения в колонке или типе данных
[a] Обеспечивает значения, которые будут помещены в колонку, если не указано другого значения
[a] [+] Определяет набор строк и ассоциированных с ними колонок
[q] 3:1: Имеется таблица tovar: id int, name char(56), price int. Что будет в результате выполнения запроса:
Select id, name, price from Tovar
where price > 200 group by id, name
[a] [+] Вернется id, name, price из таблицы Tovar у которых цена больше 200 и вывод будет сгруппирован по полю id и name
[a] Вернется id, name, price из таблицы Tovar у которых цена больше 200 и вывод будет отсортирован по полю id и name
[a] Вернется id, name, price из таблицы Tovar
[a] Вернется сообщение о ошибке
[ q ] 2:1: Предложения ON UPDATE и ON DELETE могут применяться в операторах:
[a] [+] ALTER TABLE
[a] CREATE PROCEDURE
[a] SELECT
[a] CREATE FUNCTION
[a] UPDATE
[ q ] 1:1: Структура данных, помогающая быстро найти элементы данных при наличии части их значения — это
[a] [+] индекс
[a] менеджер памяти
[a] менеджер транзакций
[a] транзакция
[a] процессор запроса
[ q ] 1:1: Компонент, задача которого получать требуемую информацию из хранилища данных и изменять в нем информацию по требованию выше уровней системы
[a] индекс
[a] [+] менеджер памяти
[a] менеджер транзакций
[a] транзакция
[a] процессор запроса
[ q ] 1:1: Что не относится к требованиям, предъявляемым к выполнению транзакций?
[a] атомарность
[a] непротиворечивость
[a] изоляция
[a] долговременность
[a] [+] дискретность
[ q ] 1:1: Отвечает за целостность системы
[a] индекс
[a] менеджер памяти
[a] [+] менеджер транзакций
[a] модификация
[a] процессор запроса
[ q ] 1:1: Группа операций, которые необходимо выполнить последовательно как единое целое
[a] поиск данных
[a] форматирование
[a] сортировка
[a] [+] транзакция
[a] группировка
[ q ] 1:1: Операции по изменению данных
[a] редактирование
[a] форматирование
[a] [+] модификация
[a] интеграция
[a] предельные размеры и эксплуатационные ограничения
[ q ] 1:1: К числу основных показателей пригодности программных продуктов не относится
[a] вид программного продукта
[a] категории пользователей
[a] [+] удобство и простота внедрения
[a] качество средств разработки
[a] модель представления данных
[ q ] 1:1: Что не относится к тенденциям развития СУБД?
[a] поиск современных моделей данных в БД
[a] разработка новых архитектур СУБД
[a] распределенная обработка информации в сети
[a] [+] переподготовка пользователей
[a] обработка больших объемов информации
[ q ] 1:1: Назовите компонент модели данных. Это:
[a] структура данных
[a] [+] множество доступных операций над данными
[a] СУБД
[a] инструментальные программные средства
[a] тип данных
[ q ] 1:1: Что не относится к типовым структурам данных в моделях?
[a] элемент данных
[a] запись
[a] агрегат данных
[a] база данных
[a] [+] тип данных
[ q ] 1:1: Какая модель данных предоставляет эффективное использование памяти?
[a] [+] иерархическая
[a] физическая
[a] реляционная
[a] сетевая
[a] объектно-ориентированная
[ q ] 1:1: В какой модели данных наблюдается сложность и жесткость схемы БД, построенной на ее основе?
[a] [+] сетевой
[a] иерархической
[a] постреляционной
[a] объектно-ориентированной
[a] реляционной
[ q ] 1:1: В чем универсальность таблицы-отношения?
[a] использование аппарата алгебры отношений
[a] применение реляционного исчисления
[a] [+] возможность унификации обработки данных различных СУБД
[a] все ответы верны
[a] позволяет хранить данные и моделировать связи между ними
[ q ] 1:1: Домен – это
[a] строка заголовков таблицы
[a] строка таблицы
[a] описание свойств таблицы
[a] [+] множество допустимых значений атрибутов
[a] значение поля в записи
[ q ] 1:1: С помощью какого ключа устанавливаются связи между отношениями?
[a] [+] первичного
[a] уникального
[a] внешнего
[a] составного
[a] вторичного
[ q ] 2:1: Кортеж — это
[a] строка заголовков таблицы
[a] [+] строка таблицы
[a] описание свойств таблицы
[a] множество допустимых значений атрибутов
[a] значение поля в записи
[ q ] 2:1: Какая модель имеет возможность эффективной реализации по показателям затрат памяти и оперативности.
[a] сетевая
[a] [+] иерархическая
[a] постреляционная
[a] объектно-ориентированная
[a] реляционная
[ q ] 1:1: Если первичный ключ состоит из нескольких атрибутов, то он назывется?
[a] вторичным
[a] составным
[a] сложным
[a] простым
[a] [+] главным
[ q ] 2:1: Главной составляющей в жизненном цикле БД является…..
[a] загрузка данных
[a] хранимые процедуры
[a] [+] создание единой базы данных и программ
[a] планирование разработки базы данных
[a] разработка приложений
[ q ] 2:1: На каком этапе ЖЦ БД осуществляется проектирование транзакций
[a] [+] разработка приложений
[a] проектирование БД
[a] реализация
[a] планирование разработки БД
[a] определение требований к системе
[ q ] 1:1: Независимая сущность – это
[a] ассоциативная сущность
[a] обозначающая сущность
[a] первичный ключ
[a] [+] стержневая сущность
[a] характеристическая сущность
[ q ] 2:1: Что является центральной компонентой ИЛМ?
[a] лингвистические отношения
[a] [+] описание объектов и связей
[a] описание информационных потребностей пользователи
[a] алгоритмические показатели
[a] ограничение целостности
[ q ] 1:1: Подклассом ассоциативных сущностей является:
[a] характеристика
[a] атрибут
[a] [+] обозначение
[a] сущность
[a] связь
[ q ] 1:1: Внутризаписная структура может быть
[a] [+] линейной
[a] сетевой
[a] реляционной
[a] исходной
[a] внешней
[ q ] 1:1: Характер связей между записами основывается на делении:
[a] из-за сложности элементов
[a] по структуре записи
[a] по типу длины записи
[a] [+] по способу записи
[a] по типу моделей данных
[ q ] 1:1: В какой модели данных структура записи должна быть линейной:
[a] иерархической
[a] сетевой
[a] внешней
[a] реляционной
[a] [+] физической
[ q ] 2:1: Схемой хранения называется
[a] описание БД на языке СУБД
[a] [+] описание физической структуры БД
[a] описание БД с точки зрения пользователей
[a] описание данных в БД
[a] метаданные
[ q ] 1:1: Что не влияет на скорость обмена данными с диском?
[a] время установки головки диска
[a] время активизации головки
[a] [+] время работы ПЭВМ
[a] задержка вращения
[a] скорость обмена данными
[ q ] 2:1: Работу с базами данных, размещенными на сервере, можно разделить на этапы. Выделите лишний.
[a] создание базы данных и таблиц
[a] создание представлений и хранимых процедур
[a] работа с таблицами
[a] [+] осуществление безопасности
[a] администрирование
[ q ] 2:1: Какой смысл имеет параметр PRIMARY команды CREATE DATABASE?
[a] определяет список файлов на диске для размещения информации базы данных
[a] определяет список файлов на диске для размещения журнала транзакций
[a] [+] определяет первичный файл
[a] определяет первоначальный размер файла
[a] определяет максимальный размер файла базы данных
[ q ] 2:1: Какой смысл имеет параметр ON команды CREATE DATABASE?
[a] [+] определяет список файлов на диске для размещения информации базы данных
[a] определяет список файлов на диске для размещения журнала транзакций
[a] определяет первичный файл
[a] определяет первоначальный размер файла
[a] определяет максимальный размер файла базы данных
[ q ] 1:1: С помощью какой клавиши можно запустить SQL-запрос?
[ q ] 1:1: Двоичные данные для хранения файлов
[a] Char(n)
[a] Datetime
[a] [+] Binary(n)
[a] Float
[a] Decimal(p,s)
[ q ] 1:1: Дата и время
[a] Char(n)
[a] [+] Datetime
[a] Binary(n)
[a] Float
[a] Decimal(p,s)
[ q ] 1:1: Символьная строка
[a] [+] Char(n)
[a] Datetime
[a] Binary(n)
[a] Float
[a] Decimal(p,s)
[ q ] 1:1: Число с общим количеством цифр р и числом s цифр после запятой
[a] Char(n)
[a] Datetime
[a] Binary(n)
[a] Float
[a] [+] Decimal(p,s)
[ q ] 2:1: Атрибуты NULL …
[a] позволяет вводить два разных значения
[a] ошибка, строка не введена
[a] [+] позволяет опустить при вводе данных значения этого столбца
[a] позволяет вводить два одинаковых значения
[a] позволяет опустить при вводе данных значения этой строки
[ q ] 1:1: Для индексов кластерного типа порядок следования строк в индексе … с физическим порядком расположения данных.
[a] похож
[a] отличается
[a] [+] совпадает
[a] разнится
[a] отсутствует
[ q ] 1:1: Фрагменты программного кода на Transact-SQL, которые выполняются на сервере.
[a] функции
[a] [+] хранимые процедуры
[a] триггеры
[a] индекс
[a] запрос
[ q ] 3:1: Что является основным достоинством использования хранимых процедур?
[a] определяет список файлов на диске для размещения информации базы данных
[a] определяет список файлов на диске для размещения журнала транзакций
[a] [+] высокая оперативность обработки информации, обусловленная использованием мощного компьютера-сервера и тем, что для доступа к данным не тратится лишнее время, поскольку база данных размещается на сервере
[a] высокая оперативность обработки информации, обусловленная использованием мощного компьютера-клиента и тем, что для доступа к данным не тратится лишнее время, поскольку база данных размещается на сервере
[a] максимальный размер файла базы данных
[ q ] 1:1: По области видимости различают хранимые процедуры четырех типов. Что из ниже перечисленного лишнее?
[a] системные
[a] локальные
[a] временные
[a] удаленные
[a] [+] определенные
[ q ] 1:1: Назовите тип процедур, которые размещаются в базе данных Master, используются сервером и администратором.
Преимущества MongoDB, SQLite, NoSQL сравнительно с MySQL
Всем привет. Я раньше работал только с базой данной MySQL. Сейчас также начал интересоваться такими базами данных как MongoDB, SQLite, NoSQL. Какие у них преимущества перед БД MySQL? Какую базу данных, из перечисленных выше, лучше использовать и под какие задачи? Прощу меня сильно не пинать, только сегодня начал изучать этот вопрос.
Отслеживать
51.2k 86 86 золотых знаков 266 266 серебряных знаков 505 505 бронзовых знаков
задан 16 авг 2012 в 21:00
Вопрос ни о чем. @Dex вам «тоненько» намекает об этом в своем ответе =) Ну а вам, как понимаю лично пофиг на суть вопроса, раз принят ответ, где особо ничего «супер полезного» не указано. — P.S @Dex, лично к вам никаких претензий не имею, уж не подумайте =)
17 авг 2012 в 7:33
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
NoSQL — это вообще не база, а класс хранилищ данных, клоторые не относятся к традиционным SQL базам данных. Так, что из предложенных тобой вариантов остается только два: SQLite и MongoDb.
SQLite — это встраиваемое SQL решение, основанное на файлах. Если на пальцах — это апи доступа к данным, которые хранятся в локальных файлах посредством SQL синтаксиса, т.е. мало чем отличается от классических fread/fwrite и имеет те же недостатки, что и хранение данных на файлах.
ну что, теперь остается MongoDb — это система хранения данных, основанная на принципе хранении документов в BSON(Binary JSON) формате. Достоинства:
- имеет распределенный доступ к данным, расположенных на нескольких серверах
- возможно параллельное извлечение данных MapReduce
- более быстрое извлечение простых структур данных
- может хранить неструктурную информацию
- менее чем более стабильна, не рекомендовано использовать в биллинге
- требовательна к ресурсам — память и место на диске
- Лочится вся коллекция, если используется внутренние функции которые работают с данными данной коллекции (аналог хранимых процедур). аналог творится то, что и с MyISAM.
- проблемы с решардингом
что использовать во многом зависит от задачи и имеющихся для ее решения ресурсов: где-то лучше использовать MongoDb, где-то redis, где-то Reak или Cassandra.
А для этого надо познакомиться с ними со всеми поближе. Почитать блоги, развернуть на дев сервере, покрутить настройки и прочие ручечки. Не реализовав на них ни одного проекта, нельзя говорить о достоинствах и недостатках.
В одном реализованном мною проекте, при использовании MongoDB, запихнулии ее на виртуалку, дали 1Гб и 2 ядра с возможностью перспективы роста проекта. Но, набрав какое-то кол-во пользователей, где-то более миллиона, MongoDb начала притормаживать из-за нехватки ресурсов. А выделенного сервера для нее так и не выдали, сказав, что проект сделан неправильно и тормозит. так что надо осознавать риски связанные с железом и используемым на нем софтом
