
- •1.Субд FoxPro 2.0. Команды создания, открытия и закрытия бд. Рабочие области.
- •Краткая характеристика foxpro
- •2.Субд FoxPro 2.0.Коменда изменения структуры бд,дополнения и редактирования.
- •3. Команды FoxPro: If и Case.
- •4. Циклы в foxpro while, for, scan
- •5 Структура команд субд FoxPro
- •Команды вывода list и display
- •Команды перемещения по базе данных
- •Функции, связанные с указателем записи
- •Команды удаления данных
- •Команда изменения значения поля бд
- •Ускоренный поиск
- •Приблизительный поиск
- •8.Команда создания новой базы данных.
- •9 Команда sql по дополнению бд
- •Команда sql по дополнению бд
- •10 Команда sql по удалению записей (для Visual FoxPro)
- •Команда sql по удалению записей (для Visual FoxPro)
- •11 Общий вид команды формирования запроса select.
- •Указание результатов выборки и источника данных
- •Указание объекта, куда пересылается выборка:
- •Критерий отбора данных:
- •Группировка данных
- •Сортировка данных
- •12 Нормализация структуры данных.
- •Нормализация данных при реляционном подходе
- •Нормализация структуры данных
- •13 Нормализация отношений.
- •Пример нормализации отношений
- •14 Реляционные операторы.
- •Традиционные операции над множествами. Объединение (union).
- •Пересечение (intersect).
- •Вычитание (minus).
- •Произведение (times).
- •15 Специальные реляционные операторы: выборка, проекция, соединение, деление. Выборка (where)
- •Проекция [ ].
- •Соединение ( join ).
- •Деление (divideby)
- •Примеры реляционных выражений.
Критерий отбора данных:
[WHERE <условие связи>
[AND <условие связи>...]
[AND/OR <условие отбора>
[AND/OR <условие отбора>...]]]
Здесь:
<условие связи> - применяется в случае выборки из нескольких БД и указывает критерий, которому должны отвечать поля из разных БД. Условия могут содержать знаки отношений <, >, =, >=, <=, #. Допускается задание нескольких критериев, соединенных знаками AND.
<условие отбора> - строится аналогично, но из выражений содержащих значения только из одной БД. Допускаются логические операторы AND, OR, NOT.
Пример: Команда
SELECT fam, rost FROM scola WHERE rost>=170 AND ROST<=180
выдает фамилии и рост учеников, чей рост находится в диапазоне от 170 до 180 см.
Условия могут содержать операторы SQL :
1) LIKE-позволяет построить условия сравнения по шаблону, где символ подчеркивания '_' указывает любой единичный символ в данном месте строки, а символ процента '%' - любое количество любых символов. (В операционной системе DOS и в СУБД Access их аналоги– это символы ? и * соответственно).
Формат оператора: <выражение> LIKE <шаблон>
Пример: Команда
SELECT * FROM scola WHERE fam LIKE 'E%'
выводит всю информацию об учениках с фамилией на букву Е.
2) BETWEEN- проверяет, находится ли выражение в указанном диапазоне. Имеет вид
<выражение> BETWEEN <нижнее значение> and <верхнее значение>
Пример: Команда
SELECT fam, rost FROM scola WHERE rost BETWEEN 160 and 190
выдает фамилии и рост учеников, чей рост находится в диапазоне от 160 до 190 см.
3) IN-проверяет, находится ли выражение, стоящее слева от слова IN среди перечисленных справа от него:
<выражение> IN (<выр1>, <выр2>...)
Пример: Команда
SELECT fam, rost FROM scola WHERE rost IN (170,171,173,174,175)
выводит фамилию и рост учеников, у которых рост совпадает с одним
из перечисленных значений.
4) оператор в среде Visual FoxPro и в стандартном SQL:
IS NULL-проверяет является ли значение неопределенным. Пустые символьные строки, нули и пустые даты не являются неопределенными. Неопределенное значение- это значение, которое не задавалось.
Пример: Команда
SELECT * FROM scola WHERE dr NOT IS NULL
выдает всю информацию об учениках, у которых дата рождения задана в БД.
Все условия и операторы LIKE, BETWEEN, IN, IS NULL можно комбинировать логическими операциями AND, OR, NOT и круглыми скобками.
Группировка данных
1)
GROUP BY <колонка> [,<колонка>...]- Здесь задаются колонки, по которым производится группирование выходных данных. Все записи БД, для которых значения элементов колонок совпадают, отображаются в выборке единственной строкой. Группирование удобно для получения некоторых сводных характеристик группы (суммы, минимума, максимума, среднего)
Пример: команда
SELECT klass, SUM(wes) FROM scola GROUP BY klass
выводит номер класса и суммарный вес учеников этого класса, а команда
SELECT klass, AVG(wes) FROM scola GROUP BY klass
выводит номер класса и средний вес учеников для каждого класса.
2)
HAVING <условия отбора>- этот параметр задает критерий отбора данных из сформированных в процессе выборки групп.
Пример: Команда
SELECT klass, AVG(rost) FROM scola GROUP BY klass HAVING AVG(rost)>170
выводит номер класса и средний рост учеников тех классов, в которых этот средний рост больше 170 см.