- •Дайте определение понятию модель жизненного цикла ис. Опишите инкрементную модель жизненного цикла ис. Перечислите достоинства и недостатки.
- •Дайте определение понятию модель жизненного цикла ис. Опишите спиральную модель жизненного цикла ис. Перечислите достоинства и недостатки.
- •Перечислите методы и средства защиты программ от исследования их кода
- •Достоинства
- •Недостатки
- •Перечислите компоненты Microsoft sql Server. Каково их назначение?
- •Перечислите системные базы данных ms sql Server. Каково их назначение?
- •Перечислите типы данных в Transact-sql. Каким образом объявляются и используются переменные в Transact-sql?
- •Перечислите основные управляющие конструкции Transact-sql. Приведите примеры использования управляющих конструкций.
- •Отношения между таблицами.
Перечислите системные базы данных ms sql Server. Каково их назначение?
База данных master |
В этой базе данных хранятся все данные системного уровня для экземпляра SQL Server. |
База данных msdb |
Используется агентом SQL Server для планирования предупреждений и задач. |
База данных model |
Используется в качестве шаблона для всех баз данных, создаваемых в экземпляре SQL Server. Изменение размера, параметров сортировки, модели восстановления и других параметров базы данных model приводит к изменению соответствующих параметров всех баз данных, создаваемых после изменения. |
База данных resource |
База данных только для чтения. Содержит системные объекты, которые входят в состав SQL Server. Системные объекты физически хранятся в базе данных Resource, но логически отображаются в схеме sys любой базы данных. |
База данных tempdb |
Рабочее пространство для временных объектов или взаимодействия результирующих наборов. |
Перечислите типы данных в Transact-sql. Каким образом объявляются и используются переменные в Transact-sql?
Точные числа
bigint |
numeric |
bit |
smallint |
decimal |
smallmoney |
int (целочисленное значение) |
tinyint |
money |
|
Приблизительные числа
float |
real |
Дата и время
Date |
datetimeoffset |
datetime2 |
smalldatetime |
datetime |
time |
Символьные строки
char |
varchar |
text |
|
Символьные строки в Юникоде
nchar |
nvarchar |
ntext |
|
Двоичные данные
binary |
varbinary |
image |
|
Прочие типы данных
cursor |
timestamp |
hierarchyid |
uniqueidentifier |
sql_variant |
xml |
Таблица |
Пространственные типы |
Переменные объявляются Declare @<название переменной> <тип переменной>
переменные используются для хранения временных данных в ходе выполнения запроса\программы или дли пеедачи данных из одного запроса в другой
Перечислите основные управляющие конструкции Transact-sql. Приведите примеры использования управляющих конструкций.
BEGIN...END
С помощью этой конструкции выполняется группировка двух и более команд в единый блок. Сгруппированные команды воспринимаются интерпретатором Transact-SQL как один оператор. Подобная группировка требуется для конструкций поливариантных ветвлений, условных и циклических конструкций. Ключевое слово BEGIN ставится в начале блока. После него располагаются одна или несколько команд. Завершается блок ключевым словом END:
Блоки BEGIN...END могут быть вложенными. SQL Server 7.0 практически не ограничивает глубину вложенности блоков. На практике глубина вложенности редко превышает 5–7.
Для облегчения понимания структуры программы, вложенные блоки принято выделять, добавляя в начале строки символы табуляции или пробела.
Некоторые команды Transact-SQL не должны выполняться вместе с другими командами, поэтому их включение в конструкцию BEGIN...END совместно с другими командами не допускается. К таким командам относятся команды резервного копирования, изменения структуры таблиц, хранимых процедур и им подобные.
IF...ELSE
Часто определенная часть программы должна выполняться только при определенном условии. Синтаксис этой конструкции следующий:
IF Boolean_expression
{sql_statement | statement_block}
[ELSE
{sql_statement | statement_block}]
Аргумент Boolean_expression определяет логическое условие, которое должно возвращать одно из двух значений: TRUE (истина) – если условие выполняется и FALSE (ложь) – если условие не выполняется. Если возвращается значение TRUE, выполняется первая команда sql_statement или блок команд statement_block. Если логическое условие возвращает FALSE, то будет выполнена команда, находящаяся после ключевого слова ELSE (иначе). При отсутствии команд, выполняемых при несоблюдении условия, ключевое слово ELSE можно не указывать.
CASE...END
Эта конструкция часто используется для замены множества одиночных или вложенных конструкций IF...ELSE. Конструкция CASE...END возвращает результат, который можно использовать в качестве переменной в других выражениях. При этом она рассматривается как функция. Синтаксис конструкции CASE...END следующий:
CASE input_expression
WHEN { when_expression | Boolean_expression }
THEN result_expression
[...n]
[ ELSE else_result_expression ]
END
Аргумент input_expression определяет входное значение. Можно указать имя переменной или использовать функцию. Аргумент when_expression определяет один из вариантов значений аргумента input_expression. Если аргументы when_expression и input_expression совпадают, то конструкция CASE...END возвращает значение result_expression. Можно указать несколько строк WHEN...THEN, которые будут содержать все возможные варианты величины input_expression. Если все же значение входного параметра не найдено ни в одной строке WHEN...THEN, то тогда будет возвращено значение, указанное после ключевого слова ELSE.
Приведите примеры функций Transact-SQL.
Простая выборка данных. Опишите синтаксис оператора SELECT
select <Название столбца таблицы> from <название таблицы>
Какова роль условий отбора оператора SELECT? Приведите примеры использования условий отбора.
позволяет строить сложные условия отбора записей (например для выборки не всего всех записей из таблицы, а лишь тех которые отвечают определенным условиям)
SELECT *
FROM Концерты
WHERE city = 'Караганда' AND
rating > 200
Перечислите агрегатные функции Transact-SQL. Приведите примеры операторов выборки с использованием агрегатных функций.
. Агрегатные функции выполняют вычисление на наборе значений и возвращают одиночное значение. Агрегатные функции, за исключением COUNT, не учитывают значения NULL. Агрегатные функции часто используются в выражении GROUP BY инструкции SELECT.
Все агрегатные функции являются детерминированными. Это означает, что агрегатные функции возвращают одну и ту же величину при каждом их вызове на одном и том же наборе входных значений. Дополнительные сведения о детерминизме функций см. в разделе Детерминированные и недетерминированные функции.Предложение OVER может следовать за всеми агрегатными функциями, кроме GROUPING или GROUPING_ID.
Агрегатные функции могут быть использованы в качестве выражений только в следующих случаях.
Список выбора инструкции SELECT (вложенный или внешний запрос).
Предложение HAVING.
AVG
min CHECKSUM_AGG
SUM
COUNT
STDEV
COUNT_BIG
STDEVP
GROUPING
VAR
GROUPING_ID
VARP
max
Выборка данных из нескольких таблиц. Какие существуют виды соединений таблиц?
. Если требуются получить данные из более, чем одной таблицы базы данных, используется операция соединения, определенная в реляционной алгебре. Строки одной таблицы соединяются со строками другой согласно общим значениям в соответствующих столбцах – столбцах первичных и внешних ключей.
СУБД Oracle7 поддерживает следующие способы соединения:
эквисоединение;
не-эквисоединение;
внешнее соединение;
соединение таблицы с собой (рекурсия).
