Чтобы отношение находилось в третьей нормальной форме, необходимо, чтобы неключевые атрибуты в нем не зависели от других неключевых атрибутов, а зависели только от первичного ключа [6].
Клиенты
| Товары
| ||||||||||||||||||||||||
Продажи
|
Методические рекомендации к задачам №16-21
Команда отбора данных
Общий вид:
SELECT ПОЛЕ1, ПОЛЕ2,..., ПОЛЕn, FROM ТАБЛИЦА WHERE УСЛОВИЕ
Если условие не указано, выбираются все записи из таблицы.
Исходная таблица:
ZARP
FIO | SUMMA |
ИВАНОВ ПЕТРОВ СИДОРОВ | 1000 2000 3000 |
В результате выполнения команды:
SELECT FIO FROM ZARP
Набор данных примет вид:
НД
FIO |
ИВАНОВ ПЕТРОВ СИДОРОВ |
*- позволяет выбрать все поля таблицы.
В результате выполнения команды:
SELECT * FROM ZARP
Набор данных примет вид:
НД
FIO | SUMMA |
ИВАНОВ ПЕТРОВ СИДОРОВ | 1000 2000 3000 |
Примеры использования условия
Операции отношения >, <, =, >=, <=, <>.
Логические операции AND, OR, NOT.
Операции отношения имеют более высокий приоритет, чем операции отношения.
Исходная таблица:
ZARP
FIO | SUMMA |
ИВАНОВ ПЕТРОВ СИДОРОВ | 1000 2000 3000 |
В результате выполнения команды:
SELECT * FROM ZARP WHERE SUMMA>1500
Набор данных примет вид:
НД
FIO | SUMMA |
ПЕТРОВ СИДОРОВ | 2000 3000 |
В результате выполнения команды:
SELECT SUMMA FROM ZARP WHERE FIO=’ ИВАНОВ’
Набор данных примет вид:
НД
SUMMA |
1000 |
Сортировка записей в наборе данных
Общий вид команды:
SELECT ПОЛЕ1, ПОЛЕ2,..., ПОЛЕn, FROM ТАБЛИЦА ORDER BY ПОЛЕm, ПОЛЕq,...
Исходная таблица:
ZARP
FIO | SUMMA |
ИВАНОВ ПЕТРОВ СИДОРОВ ПЕТРОВ | 1000 2000 3000 1500 |
В результате выполнения команды:
SELECT * FROM ZARP ORDER BY FIO
Набор данных примет вид:
НД
FIO | SUMMA |
ИВАНОВ ПЕТРОВ ПЕТРОВ СИДОРОВ | 1000 2000 1500 3000 |
Если сортировка производится по нескольким полям, то строки сортируются сначала по значению первого поля, а затем по второму.
В результате выполнения команды:
SELECT * FROM ZARP ORDER BY FIO, SUMMA
Набор данных примет вид:
НД
FIO | SUMMA |
ИВАНОВ ПЕТРОВ ПЕТРОВ СИДОРОВ | 1000 1500 2000 3000 |
Если после имени поля сортировки указано ключевое слово DESC, то сортировка выполняется в обратной последовательности (только для этого поля).
В результате выполнения команды:
SELECT * FROM ZARP ORDER BY FIO DESC, SUMMA DESC
Набор данных примет вид:
НД
FIO | SUMMA |
СИДОРОВ ПЕТРОВ ПЕТРОВ ИВАНОВ | 3000 2000 1500 1000 |
В результате выполнения команды:
SELECT * FROM ZARP ORDER BY FIO DESC, SUMMA
Набор данных примет вид:
НД
FIO | SUMMA |
СИДОРОВ ПЕТРОВ ПЕТРОВ ИВАНОВ | 3000 1500 2000 1000 |
Вычисляемые поля
Общий вид:
Выражение AS поле
Исходная таблица:
ZARP
FIO | SUMMA |
ИВАНОВ ПЕТРОВ СИДОРОВ | 1000 2000 3000 |
В результате выполнения команды:
SELECT FIO, SUMMA, SUMMA/100*20 AS NALOG FROM ZARP
Набор данных примет вид:
НД
FIO | SUMMA | NALOG |
ИВАНОВ ПЕТРОВ СИДОРОВ | 1000 2000 3000 | 200 400 600 |
Вычисляемые поля не могут быть использованы при вычислении других вычисляемых полей.
SELECT FIO, SUMMA, SUMMA/100*20 AS NALOG, SUMMA-NALOG AS SUMIT FROM ZARP
SELECT FIO, SUMMA, SUMMA/100*20 AS NALOG, SUMMA - SUMMA/100*20 AS SUMIT FROM ZARP
НД
FIO | SUMMA | NALOG | SUMIT |
ИВАНОВ ПЕТРОВ СИДОРОВ | 1000 2000 3000 | 200 400 600 | 800 1600 2400 |
Методические рекомендации к задачам №22-25
Команды двоичной арифметики
МНЕМОКОД | OSZAPC | ДЕЙСТВИЕ |
mov DST SRC | ------ | пересылка OST<-SRC |
xchg OPND1, OPND2 | ------ | обмен OST<-SRC |
Add DST, SRC | xxxxxx | сложение QST<-DST+SRC |
Adc OST, SRC | xxxxxx | сложение с переносом DST<-OST+SRC+CP |
inc OPND | xxxxx- | увеличить на единицу OPND<-OPND+1 |
Sub DST, SRC | xxxxxx | вычитание OST<-OST SRC |
Sbb DST, SRC | xxxxxx | вычитание с заемом OST<-OST SRC CF |
Dec OPND | xxxxx- | уменьшение на единицу OPND<-OPND-1 |
Neg OPND | xxxxxx | Изменение знака OPND<-0-OPND |
rcl DST, CONT | x----x | циклический сдвиг влево через CF |
rcr DST, CONT | x----x | циклический сдвиг вправо через CF |
rol DST, CONT | x----x | циклический сдвиг влево |
ror DST, CONT | x----x | циклический сдвиг вправо |
sal OST, CONT | xxxuxx | арифметический сдвиг влево |
sar DST, CONT | xxxuxx | арифметический сдвиг вправо |
shl DST, CONT | xxxuxx | логический сдвиг влево |
Shr DST, CONT | xxxuxx | логический сдвиг вправо |
Режимы адресации
Обозначения: R - регистр, V - переменная, С - константа.
НАЗВАНИЕ | ОБОЗНАЧЕНИЕ | СОДЕРЖАНИЕ | ПРИМЕР |
РЕГИСТРОВАЯ ПРЯМАЯ | R | операнд находится в регистре | mov AX, SI переслать содержимое регистра SI в регистр АХ |
НЕПОСРЕДСТВЕННАЯ | С | непосредственным операнд константа присутствует в команде | mov AX, 093Ah занести константу 093Ah в регистр АХ |
ПРЯМАЯ | V + С или V - С | исполнительный адрес операнда присутствует в команде | mov ВХ, WW+2 переслать в ВХ слово памяти, отстоящее от переменной с именем WW на 2 байта |
КОСВЕННАЯ РЕГИСТРОВАЯ | [R] где R-ВР, ВХ, SI, DI | регистр содержит адрес операнда | mov [ВХ], CL переслать содержимое регистра CL по адресу находящемуся в регистре ВХ |
КОСВЕННАЯ РЕГИСТРОВАЯ ОТНОСИТЕЛЬНАЯ- | V[R], C[R], | адрес операнда вычисляется как сумма содержимого регистра и смещения | mov М[8Х], CL переслать содержимое регистра CL по адресу отстоящему от переменной М на 8К байт |
ИНДЕКСНО-БАЗОВАВ | [BR][IR] V[BR][IR] [BR][IR]C где | адрес операнда вычисляется как сумма содержимых базового и индексного регистров и возможного смещения | mov [BX][SI]3, AL переслать содержимое регистра al по адресу сумме регистров BХ SI и константы 3 |
Замечание. Для всех режимов адресации при формировании физического адреса используется сегментный регистр OS, за исключением случаев, когда в качестве базового регистра выступает регистр ВР, в этом случае используется сегментный регистр SS.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 |


