- •Раздел 1 Операционные системы
- •1.2 Справочная система Windows
- •Настройка экранной заставки
- •Раздел 2 Интегрированная система Turbo Pascal
- •Cинтаксис языка
- •Приоритет операторов
- •Раздел 3 Интегрированная система Delphi
- •1.1 Интегрированная среда разработки Delphi 5
- •Раздел 4. Базы данных
- •[Править] Оптимизация данных
- •Добавление записи
- •Изменение записи
- •Удаление содержимого поля или удаление всей записи
- •Основные функции субд
- •2.1.1. Непосредственное управление данными во внешней памяти
- •2.1.2. Управление буферами оперативной памяти
- •2.1.3. Управление транзакциями
- •4.7. Типы меню. Работа с меню: создание, модификация, активация и удаление.
- •Добавление кода vba в документ
- •1. Инкапсуляция
- •2. Полиморфизм
- •3. Наследовние
- •Свойства, методы и события объекта управления данными
- •Свойства
- •Вызов хранимых процедур
Изменение записи
Можно изменить данные в одном или нескольких полях записи. Например, если требуется исправить написание названия клиентской компании, можно открыть форму «Клиенты» в режиме формы, перейти к записи, соответствующей данному клиенту, и отредактировать поле «Название» в этой форме. При переходе к другой записи в приложении Access это поле в соответствующей таблице будет изменено автоматически.
Откройте форму (в режиме формы), страницу (в обозревателе или в режиме страницы) или таблицу (в режиме таблицы), в которой необходимо отредактировать запись.
Перейдите к нужной записи с помощью кнопок на панели инструментов навигации.
С помощью мыши, клавиши TAB или клавиш со стрелками перейдите к полю, которое требуется отредактировать.
Чтобы полностью заменить содержимое поля в таблице, поместите указатель мыши вблизи левого края поля и, когда он примет форму знака «плюс», как показано в приведенном ниже примере, выполните щелчок. При работе с формой щелкните имя поля.
Чтобы добавить текст к существующему содержимому поля, поместите курсор в то место, в которое необходимо добавить новые символы. Курсор можно перемещать с помощью клавиш со стрелками. В приведенном ниже примере курсор находится в конце текущего содержимого поля, поэтому все, что будет вводиться, добавится к строке «Alfreds FutterKiste».
Введите текст в поле.
Примечание. Если при вводе текста допущена опечатка, нажмите клавишу BACKSPACE. Если требуется отменить все сделанные в поле изменения, нажмите клавишу ESC.
При попытке выйти из поля после изменения данных в приложении Access проверяется, являются ли введенные данные допустимыми для этого поля. Если значение не является допустимым, появляется предупреждающее сообщение. Дополнительные сведения см. в разделе Разрешение вопросов, связанных с редактированием данных в поле.
Чтобы выйти из поля, следует либо заменить введенные данные допустимым значением, либо отменить внесенные изменения, нажав клавишу ESC.
При переходе к другой записи в приложении Access сначала выполняется проверка на уровне записи, после чего происходит сохранение изменений. Если запись нельзя сохранить, необходимо либо внести необходимые исправления, либо отменить изменения.
Удаление содержимого поля или удаление всей записи
Текст в поле можно удалить и оставить поле пустым (если в поле допускается значение Null), либо можно заменить текст другим значением. Можно также необратимо удалить одну или несколько записей в таблице:
Чтобы удалить текст в поле, выделите текст и нажмите клавишу DEL.
Сведения о том, как выделить поле, см. в разделе Выбор полей и записей.
Чтобы удалить одну или несколько записей в таблице или в форме, выделите записи и нажмите клавишу DEL.
Чтобы удалить запись на странице доступа к данным, нажмите кнопку Удалить на панели перехода по записям.
Примечание. Чтобы временно скрыть одну или несколько записей при работе в каком-либо режиме, примените один или несколько фильтров.
Дополнительные сведения о фильтрации данных см. в разделе Создание фильтра (MDB).
4.3. Индексирование: понятие индекса, типы индексных файлов. Создание, активация и удаление индекса. Переиндексирование
Индексные дескрипторы файлов
Каждому файлу на диске соответствует один и только один индексный дескриптор файла, который идентифицируется своим порядковым номером - индексом файла. Это означает, что число файлов, которые могут быть созданы в файловой системе, ограничено числом индексных дескрипторов, которое либо явно задается при создании файловой системы, либо вычисляется исходя из физического объема дискового раздела.
Индексный дескриптор файла имеет следующее строение.
Название поля |
Тип |
Описание |
|
1.2emi_mode |
USHORT |
Тип и права доступа к данному файлу |
|
i_uid |
USHORT |
Идентификатор владельца файла (Owner UID) |
|
i_size |
ULONG |
Размер файла в байтах |
|
i_atime |
ULONG |
Время последнего обращения к файлу (Access time) |
|
i_ctime |
ULONG |
Время создания файла |
|
i_mtime |
ULONG |
Время последней модификации файла |
|
i_dtime |
ULONG |
Время удаления файла |
|
i_gid |
USHORT |
Идентификатор группы (GID) |
|
i_links_count |
USHORT |
Счетчик числа связей (Links count) |
|
i_blocks |
ULONG |
Число блоков, занимаемых файлом |
|
i_flags |
ULONG |
Флаги файла (File flags) |
|
i_reserved1 |
ULONG |
Зарезервировано для ОС |
|
i_block |
ULONG[15] |
Указатели на блоки, в которых записаны данные файла |
|
i_version |
ULONG |
Версия файла (для NFS) |
|
i_file_acl |
ULONG |
ACL файла |
|
i_dir_acl |
ULONG |
ACL каталога |
|
i_faddr |
ULONG |
Адрес фрагмента (Fragment address) |
|
i_frag |
UCHAR |
Номер фрагмента (Fragment number) |
|
i_fsize |
UCHAR |
Размер фрагмента (Fragment size) |
|
i_pad1 |
USHORT |
Заполнение |
|
i_reserved2 |
ULONG[2] |
Зарезервировано |
|
Поле типа и прав доступа к файлу представляет собой двух- байтовое слово, каждый бит которого служит флагом, индицирующим отношение файла к определенному типу или установку одного конкретного права на файл.
Идентификатор |
Значение |
Назначение флага (поля) |
|
1.2emS_IFMT |
F000 |
Маска для типа файла |
|
S_IFSOCK |
A000 |
Доменное гнездо (socket) |
|
S_IFLNK |
C000 |
Символическая ссылка |
|
S_IFREG |
8000 |
Обычный (regular) файл |
|
S_IFBLK |
6000 |
Блок-ориентированное устройство |
|
S_IFDIR |
4000 |
Каталог |
|
S_IFCHR |
2000 |
Байт-ориентированное (символьное) устройство |
|
S_IFIFO |
1000 |
Именованный канал (fifo) |
|
|
|
|
|
S_ISUID |
0800 |
SUID - бит смены владельца S_ISGID 0400 SGID - бит смены группы |
|
S_ISVTX |
0200 |
Бит сохранения задачи (sticky bit) |
|
|
|
|
|
S_IRWXU |
01C0 |
Маска прав владельца файла |
|
S_IRUSR |
0100 |
Право на чтение |
|
S_IWUSR |
0080 |
Право на запись |
|
S_IXUSR |
0040 |
Право на выполнение |
|
|
|
|
|
S_IRWXG |
0038 |
Маска прав группы |
|
S_IRGRP |
0020 |
Право на чтение |
|
S_IWGRP |
0010 |
Право на запись |
|
S_IXGRP |
0008 |
Право на выполнение |
|
|
|
|
|
S_IRWXO |
0007 |
Маска прав остальных пользователей |
|
S_IROTH |
0004 |
Право на чтение |
|
S_IWOTH |
0002 |
Право на запись |
|
S_IXOTH |
0001 |
Право на выполнение |
|
Среди индексных дескрипторов имеется несколько дескрипторов, которые зарезервированы для специальных целей и играют особую роль в файловой системе. Это следующие дескрипторы
Идентификатор |
Значение |
Описание |
|
1.2emEXT2_BAD_INO |
1 |
Индексный дескриптор, в котором перечислены адреса дефектных блоков на диске (Bad blocks inode) |
|
EXT2_ROOT_INO |
2 |
Индексный дескриптор корневого каталога файловой системы (Root inode) |
|
EXT2_ACL_IDX_INO |
3 |
ACL inode |
|
EXT2_ACL_DATA_INO |
4 |
ACL inode |
|
EXT2_BOOT_LOADER_INO |
5 |
Индексный дескриптор загрузчика (Boot loader inode) |
|
EXT2_UNDEL_DIR_INO |
6 |
Undelete directory inode |
|
EXT2_FIRST_INO |
11 |
Первый незарезервированный индексный дескриптор |
|
Самый важный дескриптор в этом списке - дескриптор корневого каталога. Этот дескриптор указывает на корневой каталог, который, подобно всем каталогам, состоит из записей следущей структуры:
Название поля |
Тип |
Описание |
|
1.2eminode |
ULONG |
номер индексного дескриптора (индекс) файла |
|
rec_len |
USHORT |
Длина этой записи |
|
name_len |
USHORT |
Длина имени файла |
|
name |
CHAR[0] |
Имя файла |
|
Отдельная запись в каталоге не может пересекать границу блока (то есть должна быть расположена целиком внутри одного блока). Поэтому, если очередная запись не помещается целиком в данном блоке, она переносится в следующий блок, а предыдущая запись продолжается таким образом, чтобы она заполнила блок до конца.
4.4. Сортировка, поиск и фильтрация данных
Очень часто Excel используется для создания списков, каждая строка которых содержит информацию, относящуюся к одному объекту. Во всех примерах, рассмотренных в данном разделе, фигурировали списки. Обратимся к рис. 22. Представленный в нем прайс-лист является типичным списком. В списке имеется «шапка» (заголовки столбцов) и столбцы, содержащие однотипные данные в соответствии с заголовком. В свою очередь каждая строка представляет собой характеристику объекта, название которого, как правило, присутствует в первом столбце таблицы.
На практике возникают ситуации, когда необходимо отсортировать список по возрастанию или убыванию параметра в одном из его столбцов. Например, прайс-лист на рис. 22 можно отсортировать по возрастанию или убыванию цены товара или по названию товара, выстроив его по алфавиту.
Чтобы выполнить сортировку списка по названиям, находящимся в первом столбце, выделите список целиком, включая заголовки, нажмите кнопку Сортировка и фильтр в группе Редактирование на вкладке Главная и задействуйте команду Сортировка от А до Я.
Для сортировки списка по параметрам другого столбца, например по цене, выделите весь список, включая заголовки, нажмите кнопку Сортировка и фильтр в группе Редактирование и задействуйте команду Настраиваемая сортировка. В открывшемся окне (рис. 34) последовательно укажите в раскрывающихся списках заголовок столбца, по которому будет выполнена сортировка, параметры размещения данных (пункт Значения менять не нужно) и порядок сортировки (по возрастанию или убыванию значения). Нажмите ОК для запуска процесса.
|
Рис. 34. Окно задания параметров сортировки |
Иногда в списке требуется отобрать данные, удовлетворяющие какому-либо условию, другими словами, отфильтровать их по определенному признаку. Например, в прайс-листе следует выбрать товары, стоимость которых не превышает заданного порога. Чтобы выполнить фильтрацию данных, выделите таблицу целиком, включая заголовки, нажмите кнопку Сортировка и фильтр в группе Редактирование и задействуйте команду Фильтр. При этом в заголовках столбцов появятся кнопки раскрывающихся списков (если вы применили к таблице один из встроенных стилей, кнопки будут присутствовать по умолчанию и выполнять данную команду не следует). Щелкните на кнопке в заголовке столбца, по значениям которого нужно отфильтровать список, зайдите в подменю Числовые фильтры и выберите пункт, соответствующий условиям сортировки (в нашем случае следует выбрать пункт меньше). В открывшемся окне (рис. 35) выберите в раскрывающемся списке справа значение, которое не должны превышать выбранные данные, или введите число с клавиатуры и нажмите ОК. В результате в списке будут показаны только те пункты, которые удовлетворяют условиям фильтрации. Чтобы вновь отобразить все пункты списка, нажмите кнопку в заголовке столбца, по которому проводилась фильтрация, и в списке значений установите флажок Выделить все.
|
Рис. 35. Задание порогового значения для фильтрации данных |
Поиск и замена данных в ячейках Excel осуществляется по таким же принципам, что и поиск текстовых фрагментов Word. Чтобы открыть окно поиска и замены, нажмите сочетание клавиш +F или нажмите кнопку Найти и выделить в группе Редактирование и задействуйте команду Найти. Откроется уже знакомое вам окно, на вкладках которого можно вводить условия для поиска и замены данных.
С книгами Excel можно выполнять все стандартные операции: открытие, сохранение, распечатку, за которые отвечают команды кнопки Office в верхнем левом углу окна программы.
4.5. Взаимосвязи между таблицами: установление и удаление. Типы ключей. Способы объединения таблиц.
Создание связей между таблицами - последний этап физического проектирования БД. Связь между таблицами устанавливает отношение между совпадающими значениями в ключевых полях. В большинстве случаев связывают первичный ключ главной таблицы с внешним ключом подчинённой таблицы (часто имеющим то же имя), например, первый ключ Код контрагента таблицы Контрагенты и внешний ключ Код контрагента таблицы ЖХО. Существуют четыре типа отношений:
Один - к одному 1 1. Запись таблицы А может иметь не более одной связанной записи в таблице В и наоборот. Ключевое поле в таких таблицах должно быть уникальным.
Многие - к одному 1. Одной записи в таблице А может соответствовать одна запись в таблице В, а одной записи в таблице В - несколько записей в таблице А. В таблице В ключевое поле должно быть уникальным.
Один - ко многим 1 . Каждой записи в таблице А могут соответствовать несколько записей в таблице В, а запись в таблице В не может иметь более одной соответствующей записи в таблице А. В таблице А ключевое поле должно быть уникальным. Отношения вида 1 и 1 отличаются тем, какая таблица является главной.
Многие - ко многим . Такая таблица не нормализована. Одной записи таблицы А может соответствовать несколько записей таблицы В и наоборот. Уникальных ключей нет. Все ключи внешние. В этом случае таблицу надо нормализовать, используя инструмент Анализатор таблиц (меню Сервис, Анализ, Таблица, запускается мастер).
Связанные поля не обязательно должны иметь одинаковые имена (поле Номер счёта таблицы План счетов и поле Дебет таблицы ЖХО), но обязательно должны иметь одинаковые типы данных. Поля типа Числовой должны иметь одинаковые значения свойства Размер поля. Разрешается связывать типы полей Счётчик и Числовое, Длинное целое (или Счётчик и Числовое поле, если код репликации задан для обоих полей). Перед установкой связей следует закрыть все таблицы.
Н аходясь в окне БД, нажать кнопку Схема данных, затем Добавить таблицу (или команда меню Связи, Добавить таблицу), появится окно Добавление таблицы Выбрать таблицу из списка (один раз щёлкнуть левой кнопкой мыши) и нажать кнопку Добавить, выбрать следующую таблицу, нажать кнопку Добавить и т.д. Выбрать все таблицы, затем нажать кнопку Закрыть. Затем уцепить левой кнопкой мыши поле первой таблицы со стороны связи 1 и тащить, опустить на то же поле другой таблицы, появится ДО Изменение связей, внизу указан тип отношения один - ко многим, нажать кнопку Создать. Для удаления связи - щёлкнуть правой кнопкой мыши нужную связь и выбрать команду Удалить, для изменения - два раза щёлкнуть линию связи, появится ДО Изменение связей, которое имеет три флажка: Обеспечение целостности данных означает выполнение условий корректного внесения записей, Каскадное обновление связанных полей, Каскадное удаление связанных полей означают, что при изменении (или удалении) значений первичного ключа главной т аблицы автоматически меняются (или удаляются) соответствующие значения внешнего ключа подчиненной таблицы. Связи следует создавать при пустых таблицах, иначе нельзя будет установить эти параметры целостности БД (или какой-либо из них). |
4.6. Создание программных файлов: операторы цикла и ветвления. Модульность программ. Область действия переменных. Функции СУБД
Программирование в shell Shell является не только интерпретатором команд, но и языком программирования на уровне команд. Это означает, что вместо того, чтобы использовать shell только как взаимосвязь между вами и компьютером, вы можете программировать с его помощью для автоматического повторения последовательности инструкций. Чтобы сделать это, нужно создать исполняемый файл, содержащий список этих команд. Эти файлы называются процедурами shell. Создав такую процедуру для определенной задачи, вы можете просто запросить shell прочитать и выполнить содержание процедуры. Подобно другими языкам программирования shell обеспечивает такие возможности как переменные, управление структурами, подпрограммы, передача параметров. С помощью этих возможностей вы можете создавать собственный инструментарий. Например, вы можете скомбинировать три команды системы UNIX (date, who, wc) в простой процедуре shell и назвать его users. Эта процедура отражает дату, время и количество пользователей, работающих в вашей системе. С помощью редактора vi создайте файл users:
vi users<CR>
Редактор выведет пустую страницу на вашем экране и будет ждать ввода текста. Введите три команды на одной строке:
date; who | wc -l
Затем запишите текст в файл и выйдите из файла, задав команду:
:wq
Сделайте файл users исполняемым:
chmod ug+x users<CR>
Теперь попытайтесь запустить этот файл. На экране появится информация, подобная:
$ users<CR>
Sat Mar 11 16:40:32 EST 1989 4 $
Команда распечатывает дату и количество пользователей (4). Программирование с помощью awk awk предлагает вам управлять задачами обработки данных и восстановления информации. Типичная программа awk состоит из выражения "шаблон-действие". awk-программа находит во вводном файле строку, соответствующую шаблону и выполняет над ней указанное действие. Процесс продолжается до тех пор, пока весь вводной файл не будет прочитан.
Система управления базами данных (СУБД) — это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных. Так, СУБД, основанные на использовании реляционной модели данных, называют реляционными СУБД.
СУБД – система реализующая: поддержание логически согласованного набора файлов; обеспечение языка манипулирования данными; восстановление информации после разного рода сбоев; реально параллельная работа нескольких пользователей.