
- •Эволюция развития баз данных.
- •Процессы в ис
- •Понятие бд, субд.
- •Модели данных.
- •4.Реляционная модель, ее свойства.
- •5.Типы связей в реляционной модели.
- •6.Целостность данных.
- •7.Операции над отношениями.
- •Операции над отношениями
- •Операции:
- •8.Нормализация отношений, 1 и 2 нормальные формы.
- •9.Понятие транзитивной зависимости, 3 нормальная форма.
- •Создать таблицу дисциплин и успеваемости
- •11.Создание запросов на выборку на sql языке. (select).
- •12.Создание запроса на удаление на sql языке.
- •13. Создание запроса на изменение на sql языке.
- •14. Создание групповых запросов на sql языке.
- •15. Типы субд
- •16.Основные принципы ооп
- •17.Свойства и методы объектов dao
- •18. Объекты ado
- •19. Процедуры vba
- •20. Функции в vba.
- •21.Формальные и фактические параметры в процедурах и функциях
- •Создание хп
- •Процедура без параметров
- •22. Создание, удаление таблиц, ввод данных в таблицу на sql языке.
- •23. Создание объекта Record Set. Его типы.
- •24. Создание и выполнение запросов средствами vba.
- •25. Свойства объекта Record Set.
- •26. Методы объекта Record Set
- •27. Основные элементы управления в ms access, их свойства, методы и события
- •Основные элементы управления
- •Общие свойства элементов управления:
- •28. Понятие объекта, его свойств, методов и событий в ооп
- •29. Методика создания приложений средствами ms access и vba
- •30. Доступ к данным средствами ado
Реляционной.
Relation – отношения (таблицы). Понятие реляционной модели связано с разработками известного американского специалиста в области СУБД Эдварда Кодда.
Достоинства:
Простая структура;
Данные связаны логически;
Группа записей обрабатывается одной командой;
Удобные для пользователя таблицы представления;
Возможность использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Недостатки:
Не всегда применима для сложных иерархических и сетевых данных.
Также БД классифицируются по способу обработки данных: централизованные и распределённые. Централизованные – на одном компьютере. Распределённые – части на разных компьютерах. По способу доступа к данным: с локальным доступом и с сетевым или удалённым доступом.
16.Основные принципы ооп
Инкапсуляция – объекты наделяются некоторой структурой и обладают определенным набором операций (методов).
Наследование – возможность создавать из объектов новые объекты, которые унаследуют структуру и поведение своих предшественников, добавляя к ним черты, отражающие их собственную индивидуальность.
Полиморфизм - различные объекты могут получать одинаковые сообщения, но реагировать на них по - разному, в соответствии с тем, как реализованы у них методы, реагирующие на сообщения
17.Свойства и методы объектов dao
Объект |
Метод |
Свойство |
Database |
Execute, Create Table Def, OpenRecorSet Close, Create Query Def |
Name, TableDefs QueryDefs |
Query Def |
Execute, Close, Open Record Set |
Records, Affected, Name, SQL |
TableDef |
Create Fields , Open Record Set |
Name, Fields, Record count |
Fields |
|
Name, Type, Value |
Query Defs |
Append, Delete, Refresh |
Count |
Table Defs |
Append, Delete, Refresh |
Count |
Fields Record Set |
Append, Delete, Refresh |
Count |
Record Set |
Add New, Edit, Delete, Close, Clone, Move Last, Move First, Move Next, Move Previous,Find First, Find Next, Find Last, Find Previous |
EOF, BOF, Record Count No Match, Book mark |
18. Объекты ado
Command предназначен для выполнения запроса к источнику данных
Свойства:
Active connection - тип String. Указатель на активный объект connection
Command text - задается текст исполняемой команды. Может представлять из себя SQL-строку, имя таблицы или имя процедуры.
Command type – можно задать константы (adcmd text; adcmd table; adcmd proc).
Execute – выполняется программа на SQL языке с помощью объекта Command.
Способы создания объекта Recordset в объектной модели ADO.
Execute объекта connection
Execute объекта Command
Метод Open объекта Recordset
Dim rst as ADODB. Recordset
Set rst = new ADODB. Recordset
Свойства:
Active connection
Sours –
Cursor type Recordset ( ad Forward Only, ad Open Dynamic, ad Open key Set, ad Open Static)-определяет тип объекта
Lock type (Adlock Read Only, Adlock Optimistic –на время обновления для Update , Adlock Passimistic-во время редактирования)
19. Процедуры vba
Программы на VBA хранятся в модулях. Основное содержание модуля – процедуры и функции.
Public – процедура доступа для других процедур во всех модулях.
Private – процедура доступа для другой процедуры того модуля, в котором она описана
Static – указывает, что локальная переменная процедуры сохранена между вызовами процедур.
[Public/ Private] [Static]
Sub имя процедуры (список формальных параметров)
Область описанных переменных
Блокировка алгоритмов 1
[Exit Sub]
Блокировка алгоритмов 2
End Sub
Список формальных параметров
[By ref/By val] [Optional]
[Param Array] as [=значение по умолчанию]
20. Функции в vba.
В VBA существует два вида функций: встроенные и пользовательские.
Встроенные функции — это функции, которые прилагаются к пакету MS Office и содержатся в VBA. Встроенные функции можно разделить на несколько категорий:
Математические. Они предназначены для вычисления основных математических функций.
Функция
Возвращаемое значение
Abs
Модуль
Atn
Арктангенс
Cos
Косинус
Exp
Экспонента
Log
Натуральный логарифм
Rnd
Случайное число. Перед вызовом функции следует использовать инструкцию Randomize
Sgn
Знак числа
Sin
Синус
Sqr
Квадратный корень
Tan
Тангенс
Fix
Целая часть числа. Для отрицательных аргументов возвращается целое число, большее или равное заданному
Int
Целая часть числа. Для отрицательных аргументов возвращается целое число, меньшее или равное заданному
Функции проверки типов позволяют определить принадлежность той или иной переменной конкретному типу. Результат логического типа.
Функция
На принадлежность какому типу проверяется
какому типу проверяется
IsArray
Массив
IsDate
Дата
Is Empty
Описана инструкцией Dim
IsError
Код ошибки
IsNull
Имеет пустое значение
IsNumeric
Числовой тип
IsObject
Объект
Функции обработки строк предназначены для работы со строковыми выражениями.
Функция
Действие
Asc(строка)
Возвращает ASCII-код начальной буквы
строки
Chr(код)
Преобразует ASCII-код в строку
Lease(строка)
Преобразует строку к нижнему регистру
Ucase(строка)
Преобразует строку к верхнему регистру
Left(строка, число)
Возвращает подстроку, состоящую из указанного числа первых символов строки
Right(строка, число)
Возвращает подстроку, состоящую из указанного числа последних символов строки
Mid(строка, начало , длина)
Возвращает подстроку, состоящую из указанного числа символов строки, начиная с заданной позиции
Len(строка)
Возвращает длину строки
I/Trim (строка)
Возвращает исходную строку без начальных пробелов
RTrim(строка)
Возвращает исходную строку без конечных пробелов
Trim(строка)
Возвращает исходную строку без начальных и конечных пробелов
Space(число)
Возвращает строку, состоящую из указанного числа пробелов
String(число, символ)
Возвращает строку, состоящую из указанного числа повторений заданного символа
StrComp(строка1, строка2 [, вариант])
Сравнивает две строки. Вариант равен 0, если идет двоичное сравнение, равен 1 — при посимвольном сравнении без учета регистра. Если строка! меньше строки!. возвращается значение -1-0 — если строки равны, 1 — в оставшемся случае.
InStr([начало,] строка1, строка2 [, вариант])
Возвращает позицию первого вхождения строки 1 в строку2. Поиск начинается с указанной позиции. Если аргумент начало опущен, поиск идет с первой позиции.
Функции времени и даты.
Функция
|
Действие
|
Date
|
Возвращает текущую дату
|
Time
|
Возвращает текущее время
|
Функция
|
Действие
|
Now
|
Возвращает текущие дату и время
|
Hour
|
Выделяет значение часов из данных типа время
|
Minute
|
Выделяет значение минут из данных типа время
|
Second
|
Выделяет значение секунд из данных типа время
|
Day
|
Выделяет числовое значение дня из данных типа даты
|
Month
|
Выделяет числовое значение месяца из данных типа даты
|
Year
|
Выделяет числовое значение года из данных типа даты
|
Weekday
|
Выделяет числовое значение дня недели из данных типа даты
|
Timer
|
Возвращает число секунд, прошедших с начала суток
|
DateDiff
|
Возвращает число временных интервалов между двумя датами
|
DatePart
|
Выделяет из даты указанный временной интервал
|
DateAdd
|
Возвращает дату, к которой добавлен указанный временной интервал
|
TimeSerial
|
Формирует время по указанным часам, минутам и секундам
|
DateSerial
|
Формирует дату по указанному дню, месяцу и году
|
TimeValue
|
Преобразует строку в формат времени
|
21.Формальные и фактические параметры в процедурах и функциях
Хранимые процедуры – именованный набор команд на транзакт SQL, хранящихся на сервере и представляет самостоятельный объект БД. ХП хранятся в предварительно откомпилированном виде, поэтому эффективность их выполнения выше, чем у обычных запросов. При выполнении ХП процедуры в 1 раз выполняются в 5 шагов следующего алгоритма:
происходит лексический и синтаксический анализ запроса. В результате выполнения 1 шага процедура разобьется на отдельные компоненты.
Компоненты сопоставляются с реальными объектами (таблицы, запросы). Разрешение внешних ссылок.
В системной таблице (Sysobjects) заполняется имя процедуры. Тип: Р.А. в системной таблице (Sys comments) в поле text заполняется текст процедуры.
Создается предварительный план выполнения запроса, сохраняется в системной таблице Sys PROCEDURES
при первом выполнении ХП дерево запроса считывается и окончательно оптимизируется.
При повторном вводе выполняется ранее созданный план процедуры. При повторении вызова выполняется только 5 шаг алгоритма.
Преимущество использования ХП по сравнению с обычными запросами.
Повышается скорость (из-за откомпилированного вида)
План выполнения процедуры сохраняется в быстродействующем КЕШе, поэтому при повторном вызове она берется из КЕШа. (Скорость повышается)
Уменьшается нагрузка на сеть (передача имя процедуры и список, а выполнение происходит только на сервере)
Использование ХП реализует принцип модульного проектирования, т.к. процедура позволяет разбивать задачи на самостоятельные части более удобные в управлении.
Типы ХП.
Системные ХП - предназначены для выполнения административных функций.
Пользовательские хранятся, как отдельный объект.
Глобальные и локальные
Создание хп
Create Proc [edure] имя процедуры [: номер]
[{@ параметр, тип}}[varung] [:default] [output]]
[,…]
[with Recompile/ Encryption/ [with Recompile, Encryption]]
As SQL – Statement …
Varung – если курсор возвращается в виде выходного параметра
Процедура без параметров
USE pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'au_info_all' AND type = 'P')
DROP PROCEDURE au_info_all
GO
CREATE PROCEDURE au_info_all
AS
SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
GO
Выполнение процедуры
EXECUTE au_info_all или EXEC au_info_all
Процедура с входным параметром
USE pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'au_info' AND type = 'P')
DROP PROCEDURE au_info
GO
USE pubs
GO
CREATE PROCEDURE au_info
@lastname varchar(40),
@firstname varchar(20)
AS
SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
WHERE au_fname = @firstname
AND au_lname = @lastname
GO
Выполнение процедуры с параметрами
EXECUTE au_info 'Dull', 'Ann'
-- Or
EXECUTE au_info @lastname = 'Dull', @firstname = 'Ann'
Процедура с выходным параметром
USE pubs
GO
IF EXISTS(SELECT name FROM sysobjects
WHERE name = 'titles_sum' AND type = 'P')
DROP PROCEDURE titles_sum
GO
USE pubs
GO
CREATE PROCEDURE titles_sum @@TITLE varchar(40) = '%', @@SUM money OUTPUT
AS
SELECT 'Title Name' = title
FROM titles
WHERE title LIKE @@TITLE
SELECT @@SUM = SUM(price)
FROM titles
WHERE title LIKE @@TITLE
GO
Имя параметра не должно совпадать с именем переменной, однако тип и положение переменной должно соответствовать типу и положению параметра
Выполнение процедуры и использование значения выходного параметра
DECLARE @@TOTALCOST money
EXECUTE titles_sum 'The%', @@TOTALCOST OUTPUT
IF @@TOTALCOST < 200
BEGIN
PRINT ' '
PRINT 'All of these titles can be purchased for less than $200.'
END
ELSE
SELECT 'The total cost of these titles is $'
+ RTRIM(CAST(@@TOTALCOST AS varchar(20)))
22. Создание, удаление таблиц, ввод данных в таблицу на sql языке.
Создание таблицы
Create table имя_таблицы
({<определение_столбца><определение_ограничения_таблицы>}[,…,{< определение_столбца >< определение_ограничения_таблицы >}])
Ограничение целостности – это максимум, обеспечивающий контроль данных, установленным условиям.
Виды ограничений:
Null / Not Null – ключевые слова, разрешающие (Null) или запрещающие (Not Null) хранение в столбце значений Null
Default – значение по умолчанию
CHECK – логическое условие
Primary key - определение первичного ключа на уровне одного столбца
Unique – ограничение целостности (уникальность каждого значения и не пустые)
Identity – начальное значение [, смещение]
Foreign key – внешний ключ
Синтаксис:
< определение_ таблицы > ::= [CONSTRAINT <имя _ограничения >]
{[{ Primary keyUnique }
{(<имя_колонки>[ASCDESC][,…,n])}]
Foreign key
[(<имя_колонки>[,…, n])]
Referenses <Внешняя_таблица>[(<имя_колонки_внешней_таблицы>[,…, n])]
[on delete {cascade no action}]
[on update {cascade no action}]
check (<логическое_выражение>)
}
Ввод данных в табл.
Alter table предназначена для модификации структуры таблицы.
Синтаксис:
Alter table <имя_таблицы>
[Alter Column <имя_столбца> [Set Default <выражение>]
[Drop Default]]
[ADD <определение_столбца>]
[Drop Column < имя_столбца > [cascade][RESTRICT]
[ADD < определение_первичного_ключа >][< определение_внешнего_ключа >]
[< условие_уникальности >][<условие_на_значение>]]
[ Drop constaint < имя_ограничения>[ cascade] [RESTRICT]]
Alter table берет на себя все действия по копированию данных во временную таблицу, удалению старой таблицы, созданию вместо нее новой таблицы с нужной структурой и последующим переписыванием в нее данных.
23. Создание объекта Record Set. Его типы.
Dim db us Database
Dim rst as Dao. Record Set
Dim rst=db.Open Record Set
([источник [,тип][,параметры]][,блокировка])
Источники:
Имя таблицы
Имя запроса
Оператор Select
Типы:
Таблица db.OpenTable
Динамические db.OpenDynaset
Статистические db.OpenSnapShot
Статистические db.OpenFor word Only
1→n
Record Set типа таблицы позволяет работать только с 1 таблицей.
«+»: - параллельное изменение.
«-»: - название работы только с одной таблицей.
- нельзя использовать метод Find
Динамический объект Record Set представляет группу данных из одной или нескольких таблиц.
«+»: - использование нескольких таблиц
можно выбрать нужные поля из таблицы и записи по заданному критерию (Where) и сортировке (Order by)
Объединяет записи из нескольких таблиц
Можно использовать метод Find
Позволяет ограничить число полей или записей, отбираемых в набор
Можно использовать сортировку
«-»: - Не отслеживается добавление или удаление записей другими пользователями.
Статистический объект такой же как динамический, только не обновляется.
24. Создание и выполнение запросов средствами vba.
25. Свойства объекта Record Set.
BOF {true/false}
EOF
Свойство BOF возвращает значение true, если указатель текущей записи расположен перед первой записью набора данных и значение false в противном случае.
Свойство EOF возвращает значение true, если указатель текущей записи расположен после последней записи и значение false в противном случае.
Свойство объекта Record Count
Возвращает число записей в объекте Record Set
Примечание:
Перед использованием этого свойства нужно применить метод Move Last. В противном случае это свойство выдает неправильное значение.
Свойство Absolute Position
rst Absolute Position = n
позволяет перейти в набор данных к определенной записи от 0 до Record Count -1
Свойство No match {true/false}
Используется для поверки того, найдена ли запись, отвечающая заданному критерию в методах
{Find First / Find Next/ Find Previous/Find Last}
{true – запись не найдена / false – запись найдена}
26. Методы объекта Record Set
Метод Add New
С помощью этого метода в набор данных можно добавить новую запись. Чтобы запись сохранилась нужно применить метод Update. До метода Update изменения в базу данных не заносятся.
Метод Delete
С помощью этого метода можно удалить текущую запись в объекте Record Set.
Метод Edit
С помощью метода Edit можно редактировать текущую запись в обновленном объекте Record Set.
Чтобы сохранить изменения нужно вызвать метод Update.
Метод Clone
С помощью этого метода можно сделать копию объекта Record Set.
Метод Close
Закрывает объект и удаляет его из памяти
Методы Find
{Find First / Find Next/ Find Previous/Find Last}
объект Find First критерий
Пример: rst. Find First «Фамилия = ‘Иванов’»
Для проверки того найдена ли запись, отвечающая заданному критерию, используя свойства No match
{true – запись не найдена / false – запись найдена}
Метод Move объекта Record Set
Перемещение по объекту Record Set осуществляется с помощью метода Move.
{Move First / Move Next/ Move Previous/ Move Last}
С помощью этого метода можно сместиться от текущей записи на заданное число записей
n - положительное - вперед
n – отрицательное – назад
При открытии объекта Record Set указатель стоит на первой записи, если число записей ≥ 1
27. Основные элементы управления в ms access, их свойства, методы и события
Все программы под Windows имеют 2 составляющие:
Визуальную (формы, элементы управления. Элементы управления VB разработаны для решения задач)
Программную (процедуры обработки событий)
Основные элементы управления
Название |
Графическое обозначение |
Функции |
Префикс |
Label |
А
|
Отображает текст |
lbl |
TextBox |
ab
|
Позволяет вводить или отображать текст в текстовом поле |
txt |
Command button |
|
Начало каких-то действий |
cmd |
Option button |
|
Позволяет выбрать одно из двух состояний true/false |
optb |
CheckBox |
٧
|
Для реализации функции выбора |
chk |
ListBox |
|
Используется для выбора одного или нескольких значений |
lst |
Option Group |
|
Является контейнером |
optg |
Общие свойства элементов управления:
Click –возникает при щелчке по объекту, когда объект имеет фокус.
dbl Click – возникает при двойном щелчке.
Key Down – возникает при нажатии клавиши, когда объект имеет фокус
Key Prese – при нажатии и отпускании
Mouse Down – когда объект имеет фокус
Mouse Up – возникает при отсутствии, при перемещении
Mouse Move – при перемещении курсора через объект
Key up
Drag Drop
Got Focus
28. Понятие объекта, его свойств, методов и событий в ооп
Инкапсуляция – обеспечивает «логическую независимость данных»: можно изменить реализацию типа, не имея каких либо программ, использующих этот тип.
Типы и классы – классы используются не для проверки правильности программы, а скорее для создания и манипулирования объектами. В большинстве систем классами можно манипулировать во время выполнения, т.е. изменять их и передавать как параметры.
Иерархии классов и типов – наследование обладает двумя положительными достоинствами: во-первых, оно является мощным средством моделирования, поскольку обеспечивает возможность краткого и точного описания предметной области. Во – вторых, эта возможность помогает факторизовать спецификации и реализации, совместно используемые в приложениях.
Расширяемость – Система БД поставляется с набором предопределенных типов, но этот набор должен быть расширяемым.
Стабильность – означает возможность обеспечить сохранность данных после завершения выполнения одного процесса для последующего использования в другом процессе.
Восстановление – возвращение к некоторому согласованному состоянию данных.
Параллелизм – система должна поддерживать стандартные понятие атомарности последовательности операций и управляемого совместного доступа.
29. Методика создания приложений средствами ms access и vba
Application – приложение, работающее с БД.
Методика создания приложения
Прогнозировать постановку задачи
Создать новую БД
Спроектировать объекты БД
Разработать графический интерфейс
Написать модуль на VBA
Отладить и протестировать приложение
Проектирование любой БД начинается с предметной области и заканчивается концептуальной схемой БД. После анализа предметной области мы выбираем информационные объекты (например, таблицы).
30. Доступ к данным средствами ado
Error(s)
Connection
Command
Parameter(s)
Recordset(s)
Field(s)
ADO объектно-ориентированный интерфейс разработки приложений, использующих OLE DB.
OLE DB – низкоуровневый интерфейс
ADO – программный интерфейс высокого уровня, упрощающий работу с данными
Объект Connection обеспечивает связь с источником данных
Объект Command определяет исполняемую команду
Parameters – семейство объектов, каждое из которых представляет параметр команды на SQL языке.
Recordset
Fields – отдельное поле в объекте Recordset
Error(s) – Все объекты в этом семействе создаются в ответ на ошибку, произошедшую во время сеанса связи с источником данных.
Объект Connection
Connection String – переменная типа String, с помощью которого определяется определенная информация для провайдера открывающего соединение
Методы:
Open – открытие сеанса связи с источником данных
Close - закрытие сеанса связи с источником данных
Execute – может возвращать набор записей, определяемый командой Select или используется для выполнения команд Update, Delete, Insert Into и.т.д.
Execute (Command text [ ,Recordset, Affected [ ,options]] )
adcmd text – первый параметр интерпретируется, как исполняемая команда
adcmd table – как имя таблицы будет сгенерирован запрос Select