Проектирование баз данных

Автор работы: Пользователь скрыл имя, 19 Января 2014 в 10:31, реферат

Краткое описание

Microsoft Access - это интерактивная реляционная СУБД (relational
database management system - RDBMS ) для WINDOWS . Это программа, которую, вы можете использовать для хранения и извлечения данных в зависимости от отношений, которые Вы установили. Работа с ней упрощена посредством манипулятора мыши. Графические возможности оболочки производят большое впечатление при изготовлении высококачественных отчетов и распечаток. Все это благодаря поддержки True-type шрифтов и встраивания OLE – объектов (Object Linking and Embeding) в рамках среды WINDOWS. OLE - объект представляет собой ссылку на определенную информацию, которая остается в своей первоначальной форме. OLE-объектом может быть EXCEL - таблица,
Paintbrush - иллюстрация или Sound - файл.

Содержание

1. Проектирование баз данных.
1.1. Создание гиперссылок в Access.
1.2. Создание макросов в Access.
2. Программирование на Visual Basic for Application.
2.1. Оператор If … Then … Else.
2.2. Инструкция Select … Case.
2.3. Оператор For …Next.
2.4. Оператор Do … Loop.
3. Программирование на Delphi/C++.
3.1. Функции обработки строк.
3.2. Создание БД.
3.3. Доступ к базам данных.
4. Компьютерные сети.
4.1. Построение сети.
4.2. Адресация.
4.3. LAN и VPN.
4.4. Топология локальных сетей.
5. Составление и отладка программ.
5.1. Постановка задачи.
5.2. Анализ существующих методов решения задачи.
5.3. Блок схема программы.

Прикрепленные файлы: 1 файл

Отчет.docx

— 277.66 Кб (Скачать документ)

End Sub

На выходе получим результат: 1 2 3 4 5 9 10

 

Оператор For Each … Next повторяет группу операторов применительно к каждому элементу коллекции.

Полный его синтаксис  выглядит так:

For Each Элемент [ As Тип данных ] In Группа

Группа операторов

Next [ Элемент ]

 

Программа с использованием структуры For Each … Next:

Dim numbers() As Integer = {1, 4, 7}

Dim letters() As String = {“a”, “b”, “c”}

For Each number As Integer In numbers

For Each letter As String In letters

          Debug.Write(number.ToString & letter & “ “)

     Next

Next

Debug.WriteLine(«»)

На выходе получим результат: 1a 1b 1c 4a 4b 4c 7a 7b 7c

    1. Оператор Do … Loop.

Оператор Do … Loop повторяет блок инструкций, пока условие Boolean равно True или до тех пор, пока условие станет True. Структура Do … Loop используется, если требуется повторение набора инструкций неограниченное число раз, пока условие выполняется.

While - Требуется, если не используется Until. Повторяет цикл до тех пор, пока Условие равно False.

Until - Требуется, если не используется While. Повторяет цикл до тех пор, пока Условие равно True.

Полный его синтаксис  выглядит так:

Do { While | Until } Условие

Группа операторов

Loop

Или

Do

Группа операторов

Loop { While | Until } Условие

 

Программы с использованием структуры Do … Loop:

Dim index As Integer = 0

Do

    Debug.Write(index.ToString & " ")

    index += 1

Loop Until index > 10

Debug.WriteLine("")

На выходе получим результат: 1 2 3 4 5 6 7 8 9 10

Или

Dim index As Integer = 0

Do While index <= 100

    If index > 10 Then

        Exit Do

    End If

    Debug.Write(index.ToString & " ")

    index += 1

Loop

Debug.WriteLine("")

На выходе получим результат: 1 2 3 4 5 6 7 8 9 10

 

  1. Програмирование на Delphi/C++.

3.1. Функции обработки строк.

сhar * strcpy(char * s1, const char * s2);

Копирует строку s2 в массив символов s1. Возвращает значение s1.

сhar * strncpy(char * s1, const char * s2, size_t n);

Копирует не более n символов из строки s2 в массив символов s1. Возвращает значение s1.

сhar * strcat(char * s1, const char * s2);

Добавляет строку s2 к строке s1. Первый символ строки s2 записывается поверх завершающего нулевого символа строки s1. Возвращает значение s1.

сhar * strncat(char * s1, const char * s2, size_t n);

Добавляет не более n символов строки s2 в строку s1. Первый символ строки s2 записывается поверх завершающего нулевого символа строки s1. Возвращает значение s1.

int  strcmp(const char * s1, const char * s2);

Сравнивает строки s1 и s2. Функция возвращает 0, если строки равны; значение меньше 0, если s1 меньше s2 и значение больше 0, если s1 больше s2.

int  strncmp(const char * s1, const char * s2, size_t n);

Сравнивает до n символов строк s1 и s2. Функция возвращает 0, если строки равны; значение меньше 0, если s1 меньше s2 и значение больше 0, если s1 больше s2.

сhar * strtok(char * s1, const char * s2);

Последовательность вызовов  strtok разбивает строку s1 на лексемы – логические части, такие как слова, разделенные символами, содержащимися в строке s2. Первый вызов содержит в качестве первого аргумента s1, а последующие вызовы для той же строки, содержат в качестве первого аргумента null. При каждом вызове возвращается указатель на текущую лексему. Если лексем больше нет, возвращается null.

size_t strlen(const char * s);

Определяет длину строки s. Возвращает количество символов, предшествующих  завершающему нулевому символу.

char * strchr(const char * s, int c);

Находит позицию первого  вхождения символа c в строку s. Если c найден, функция возвращает указатель на c в строке s, иначе возвращается NULL.

size_t  strcspn(const char * s1, const char * s2);

Определяет и возвращает длину начального сегмента строки s1, содержащего только те символы, которые  не входят в s2.

char * strpbrk(const char * s1, const char * s2);

Находит в строке s1 позицию  первого вхождения любого из символов строки s2. Если символ из строки найден, возвращается указатель на этот символов строке s1, иначе возвращается NULL.

char * strrchr(const char * s, int c);

Находит позицию последнего вхождения символа c в строку s. Если c найден, функция возвращает указатель на этот символ, иначе возвращается NULL.

char * strstr(const char * s1, const char * s2);

Находит позицию первого  вхождения строки s2 в строку s1. Если подстрока найдена, функция возвращает указатель подстроки в строке s1, иначе возвращается NULL.

Отрывок программы:

Char * my_fun(char * pChar)

   char * p = pChar; 

   while(*(p)!='\0') 

   { 

       if(*(p)>='A' && *(p)<='Z') 

           *(p)=*(p)+32; 

       p++; 

   } 

   return pChar;

}

3.2. Работа с базами данных в C++.

Создание БД.

Процесс создания базы данных рассмотрим на примере. Создадим локальную  базу данных "Ежедневник", которая  представляет собой одну-единственную таблицу в формате Paradox. Для этого воспользуемся поставляемой вместе с C++ Builder утилитой Database Desktop.

Запустить Database Desktop можно из C++ Builder, выбрав в меню Tools команду Database Desktop, или из Windows (команда Пуск › Программы › C++BuiIder › Database Desktop).

Процесс создания базы данных состоит из двух шагов: сначала надо создать псевдоним базы данных, затем  – таблицу (в общем случае –  несколько таблиц). Псевдоним (Alias) определяет расположение таблиц базы данных и используется для доступа к ним.

Для того чтобы создать  псевдоним, надо:

  1. В меню Tools выбрать команду Alias Manager.
  2. В появившемся диалоговом окне Alias Manager щелкнуть на кнопке New.
  3. Ввести в поле Database alias псевдоним создаваемой базы данных – например,organizer.
  4. Ввести в поле Path путь к файлам таблиц базы данных (таблицы будут созданы на следующем шаге).
  5. Щелкнуть на кнопке Keep New (рис.3.1).

 

Рис. 3.1. Создание псевдонима базы данных.

 

Теперь можно приступить к созданию таблицы.

Чтобы создать таблицу, надо в меню File выбрать команду New › Table (рис.3.2), затем в появившемся диалоговом окне Create Table – тип таблицы (рис.3.3).

Рис. 3.2. Начало работы над новой таблицей.

 

Рис.3.3. В списке Table type надо выбрать тип создаваемой таблицы (файла данных).

 

В результате выполнения перечисленных  выше действий открывается окно Create Table, в котором надо определить структуру таблицы – задать имена полей базы данных и указать их тип и размер (рис.3.4).

Рис.3.4. В диалоговом окне Create Table надо задать структуру таблицы создаваемой базы данных.

 

Записи базы данных "Ежедневник" состоят из двух полей: Task_F и Date_F. Поле Task_F(символьного типа) содержит название задачи (мероприятия), поле Date_F (типа Date) – дату, не позднее которой задача должна быть выполнена (дату проведения мероприятия).

Имена полей вводят в столбец Field Name, тип – в столбец Type. При записи имени поля можно использовать латинские буквы и цифры. При этом следует учитывать, что имя поля не должно совпадать ни с одним из ключевых слов языка SQL (таких, например, как WHEN или SELECT). Тип поля определяет тип данных, которые могут быть помещены в поле. Задается тип поля при помощи одной из приведенных в табл.1 констант. Константа, определяющая тип поля, может быть введена с клавиатуры или выбором в списке, который появляется в результате нажатия клавиши "пробел" или щелчка правой кнопкой мыши.

 

 

Тип поля

Константа

Содержимое поля

Alpha

A

Строка символов. Максимальная длина строки определяется характеристикой Size, значения которой находятся в диапазоне 1-255

Number

N

Число из диапазона 1СГ307-10308 с 15-ю значащими цифрами

Money

$

Число в денежном формате. Цифры числа делятся на группы при помощи разделителя групп  разрядов. Так же выводится знак денежной единицы

Short

S

Целое число из диапазона  от -32767 до 32767

Long Integer

I

Целое число из диапазона  от -2147483648 до 2 147483647

Date

D

Дата

Time

Т

Время, отсчитываемое от полуночи, выраженное в миллисекундах

Timestamp

@

Время и дата

Memo

M

Строка символов произвольной длины. Поле типа Memo используется для хранения текстовой информации, которая не может быть сохранена в поле типаAlpha. Размер поля (1-240) определяет, сколько символов хранится в таблице. Остальные символы хранятся в файле, имя которого совпадает с именем файла таблицы, а расширение файла – mb

Formated Memo

F

Строка символов произвольной длины (как у типа Memo). Имеется возможность указать тип и размер шрифта, способ оформления и цвет символов

Graphic

G

Графика

Logical

L

Логическое значение "истина" (true) или "ложь" (false)

Autoincrement

+

Целое число. При добавлении в таблицу очередной записи в  поле записывается число на единицу  большее, чем то, которое находится  в соответствующем поле последней  добавленной записи

Bytes

Y

Двоичные данные. Поле этого  типа используется для хранения данных, которые не могут быть интерпретированы Database Desktop

Binary

В

Двоичные данные. Поле этого  типа используется для хранения данных, которые не могут быть интерпретированы Database Desktop. Как и данные типа Memo, эти данные не находятся в файле таблицы. Поля типа Binary, как правило, содержат аудиоданные


Таблица 1. Тип поля определяет тип информации, которая может в нем находиться.

 

После того как будут определены все поля, надо щелкнуть на кнопке Save As. На экране появится диалоговое окно Save Table As (рис. 3.5). В нем нужно выбрать (в списке Alias) псевдоним базы данных, элементом которой является сохраняемая таблица, в поле Имя файла ввести имя файла таблицы, установить переключатель Display table и щелкнуть на кнопке Сохранить.

 

Рис.3.5. Сохранение таблицы базы данных.

В результате в указанном  каталоге (псевдоним связан с конкретным каталогом локального или сетевого диска) будет создан файл таблицы  и на экране появится диалоговое окно Table (рис.3.6), в котором можно ввести данные в только что созданную таблицу (базу данных). Следует обратить внимание, что по умолчанию Database Desktop открывает таблицы в режиме просмотра, и для того чтобы внести изменения в таблицу (добавить, удалить или изменить запись), необходимо, выбрав в меню Table команду Edit (или нажав клавишу F8), активизировать режим редактирования таблицы.

Рис. 3.6. Database Desktop можно использовать для ввода информации в базу данных.

 

Данные в таблицу вводят обычным  образом. Для перехода к следующему полю (столбцу таблицы) нужно нажать клавишу Enter. Если текущее поле является последним полем последней строки (записи), то в результате нажатия клавиши Enter в таблицу будет добавлена строка (новая запись).

Если во время заполнения таблицы  необходимо внести изменения в уже  заполненное поле, то надо, используя  клавиши перемещения курсора, выбрать  это поле и нажать клавишу F2.

Если при вводе данных в таблицу  буквы русского алфавита отображаются неверно, то надо изменить шрифт, который  используется для отображения данных. Для этого нужно в меню Edit выбрать команду Preferences, затем, в появившемся диалоговом окне во вкладке General щелкнуть на кнопке Change. В результате этих действий откроется диалоговое окно Change Font (рис.3.7), в котором надо выбрать русифицированный шрифт TrueType. Следует обратить внимание, что в Microsoft Windows 2000 (Microsoft Windows XP) используются шрифты типа Open Type, в то время как программа Database Desktop ориентирована на работу со шрифтами TrueType. Поэтому в списке шрифтов нужно выбрать русифицированный шрифт именно TrueType. После выбора шрифта необходимо завершить работу с Database Desktop, т. к. внесенные в конфигурацию изменения будут действительны только после перезапуска утилиты.

Рис.3.7. Для правильного отображения данных в Database Desktop нужно выбрать русифицированный шрифт TrueType.

 

 

    1. Доступ к базам данных.

Доступ к базе данных обеспечивают компоненты Database, Table, Query и DataSource. Значки этих компонентов находятся на вкладках Data Access и BDE (рис.3.8).

 

Рис.3.8. Компоненты вкладок Data Access и BDE обеспечивают доступ к данным.

 

Компонент Database представляет базу данных как единое целое, т. е. как совокупность таблиц, а компонент Table – как одну из таблиц базы данных. Компонент DataSource (источник данных) обеспечивает связь между компонентом отображения-редактирования данных (например, компонент DBGrid) и источником данных, в качестве которого может выступать таблица (компонент Table) или результат выполнения SQL-запроса к таблице (компонент Query). Компонент DataSource позволяет оперативно выбирать источники данных, использовать один и тот же компонент (например, DBGrid) для отображения всей таблицы (базы данных) или только результата выполнения SQL-запроса к этой таблице. Компоненты доступа к данным обращаются к базе данных не напрямую, а через процессор баз данных –Borland Database Engine (BDE).

Ядро BDE образуют динамические библиотеки, реализующие механизмы обмена данными и управления запросами. В состав BDE включены драйверы, обеспечивающие работу с файлами данных форматов Paradox, dBase, FoxPro. Имеется также механизм подключения драйверов ODBC. Доступ к данным SQL серверов обеспечивает отдельная система драйверов – SQL Links. С их помощью можно получить доступ к базам данных Oracle, Infomix, Sysbase и Interbase.

Механизм взаимодействия компонента отображения-редактирования данных (DBGrid) с данными (Table или Query) Через компонент DataSource показан на рис.3.9.

 

Рис.3.9. Взаимодействие компонентов доступа-отображения данных и BDE.

 

В форму разрабатываемого приложения надо добавить компоненты Table и DataSource.

Свойства компонентов Table и DataSource приведены в табл. 2 и 3. Свойства перечислены в том порядке, в котором рекомендуется устанавливать их значения.

Значения свойств DatabaseName и TableName задаются путем выбора из списков. В списке DatabaseName перечислены все зарегистрированные на данном компьютере псевдонимы, а в списке TableName – имена файлов таблиц, которые находятся в соответствующем псевдониму каталоге.

 

Свойство

Определяет

DatabaseName

Имя базы данных, частью которой  является таблица (файл данных), для  доступа к которой используется компонент. В качестве значения свойства следует использовать псевдоним базы данных

TableName

Имя файла данных (таблицы  данных), для доступа к которому используется компонент

TableType

Тип таблицы. Таблица может  быть набором данных в формате  Paradox (ttParadox), dBase (ttDBase), FoxPro (ttFoxPro) или другого типа. По умолчанию значение свойства равно ttDefault – это означает, что тип таблицы будет определен на основе информации, которая находится в файле таблицы

Active

Признак активизации файла  данных (таблицы). В результате присваивания свойству значенияtrue файл таблицы будет открыт

Информация о работе Проектирование баз данных