Ведению разных баз данных софт. Как я создаю базу данных для своих приложений. Системы управления базами данных с плоскими файлами

  • Разработка под Android ,
  • SQLite
    • Tutorial
    • Recovery Mode

    Всем привет! Меня зовут Олег и я программист-любитель под Android. Любитель потому что в данный момент я зарабатываю деньги программированием в совсем другом направлении. А это хобби, которому я посвящаю свое свободное время. К сожалению у меня нет знакомых программистов под Android и все свои базовые знания я черпаю либо из книг, либо из интернета. Во всех тех книжках и статьях в интернете, которые я читал, созданию базы данных для приложения отводится крайне мало места и по сути все описание сводится к созданию класса являющегося наследником SQLiteOpenHelper и последующему внедрению SQL кода в Java код. Если не считать, что мы получаем плохо читаемый код (а если в нашем приложении появляется больше 10 таблиц, то вспоминать все эти взаимосвязи между таблицами тот еще ад), то в принципе жить можно конечно, но как-то совершенно не хочется.
    Забыл сказать самое главное, можно сказать что это моя проба пера тут. И так поехали.

    О вечном вопросе: почему?

    Почему в книгах и в статьях, посвященных программированию под Android, не описываются инструменты для проектирования архитектуры базы данных и какие-нибудь паттерны для работы с базами данных на этапе их создания я честно говоря не знаю. Казалось бы добавить всего пару страниц в книгу или написать отдельную статью (как делаю это я сейчас) проще простого - но нет. В этой статье, я кратко пройдусь по инструментам, которые я использую в своей работе и более подробно по коду который отвечает за начальное создание БД, который с моей точки зрения выглядит более читаемым и удобным.


    Если в нашем приложении больше 5 таблиц, то уже было бы не плохо использовать какой-нибудь инструмент для визуального проектирования архитектуры БД. Поскольку для меня это хобби, то и использую я абсолютно бесплатный инструмент под названием Oracle SQL Developer Data Modeler (скачать его можно ).

    Данная программа позволяет визуально рисовать таблицы, и строить взаимосвязи с ними. Многие ошибки проектирования архитектуры БД можно избежать при таком подходе проектирования (это я уже вам говорю как профессиональный программист БД). Выглядит это примерно так:

    Спроектировав саму архитектуру, приступаем к более нудной части, заключающийся в созданий sql кода для создания таблиц. Для помощи в этом вопросе, я уже использую инструмент под названием SQLiteStudio (его в свою очередь можно скачать тут ).

    Данный инструмент является аналогом таких известных продуктов как SQL Naviagator, Toad etc. Но как следует из названия, заточен он под работу с SQLite. Он позволяет визуально создать БД и получить DDL код создаваемых таблиц. Кстати, он также позволяет создавать представления (View), которые вы тоже при желании можете использовать в своем приложении. Не знаю насколько правильный подход использования представлений в программах для Android, но в одном из своих приложений я использовал их.

    Собственно говоря я больше не каких сторонних инструментов не использую, и дальше начинается магия с Android Studio. Как я уже писал выше, если начать внедрять SQL код в Java код, то на выходе мы получим плохочитаемый, а значит и плохо расширяемый код. Поэтому я выношу все SQL инструкции во внешние файлы, которые у меня находятся в директории assets . В Android Studio выглядит это примерно так:


    О директориях db и data

    Внутри директории assets я создал две директории db_01 и data_01 . Цифры в названиях директорий соответствуют номеру версии моей БД с которой я работаю. В директории db у меня хранятся сами SQL скрипты создания таблиц. А в директории data хранятся данные необходимые для начального заполнения таблиц.


    Теперь давайте посмотрим на код внутри моего DBHelper который я использую в своих проектах. Сначала переменные класса и конструктор (тут без каких либо неожиданностей):

    Private static final String TAG = "RoadMap4.DBHelper"; String mDb = "db_"; String mData = "data_"; Context mContext; int mVersion; public DBHelper(Context context, String name, int version) { super(context, name, null, version); mContext = context; mVersion = version; }
    Теперь метод onCreate и тут становится уже интереснее:

    @Override public void onCreate(SQLiteDatabase db) { ArrayList tables = getSQLTables(); for (String table: tables){ db.execSQL(table); } ArrayList> dataSQL = getSQLDatas(); for (HashMap hm: dataSQL){ for (String table: hm.keySet()){ Log.d(TAG, "insert into " + table + " " + hm.get(table)); long rowId = db.insert(table, null, hm.get(table)); } } }
    Логически он разделен на два цикла, в первом цикле я получаю список SQL - инструкций для создания БД и затем выполняю их, во втором цикле я уже заполняю созданные ранее таблицы начальными данными. И так, шаг первый:

    Private ArrayList getSQLTables() { ArrayList tables = new ArrayList<>(); ArrayList files = new ArrayList<>(); AssetManager assetManager = mContext.getAssets(); String dir = mDb + mVersion; try { String listFiles = assetManager.list(dir); for (String file: listFiles){ files.add(file); } Collections.sort(files, new QueryFilesComparator()); BufferedReader bufferedReader; String query; String line; for (String file: files){ Log.d(TAG, "file db is " + file); bufferedReader = new BufferedReader(new InputStreamReader(assetManager.open(dir + "/" + file))); query = ""; while ((line = bufferedReader.readLine()) != null){ query = query + line; } bufferedReader.close(); tables.add(query); } } catch (IOException e) { e.printStackTrace(); } return tables; }
    Тут все достаточно просто, мы просто читаем содержимое файлов, и конкатенируем содержимое каждого файла в элемент массива. Обратите внимание, что я произвожу сортировку списка файлов, так как таблицы могут иметь внешние ключи, а значит таблицы должны создаваться в определенном порядке. Я использую нумерацию в название файлов, и с помощью нею и произвожу сортировку.

    Private class QueryFilesComparator implements Comparator{ @Override public int compare(String file1, String file2) { Integer f2 = Integer.parseInt(file1.substring(0, 2)); Integer f1 = Integer.parseInt(file2.substring(0, 2)); return f2.compareTo(f1); } }
    С заполнением таблиц все веселей. Таблицы у меня заполняются не только жестко заданными значениями, но также значениями из ресурсов и UUID ключами (я надеюсь когда-нибудь прийти к сетевой версии своей программы, что бы мои пользователи могли работать с общими данными). Сама структура файлов с начальными данными выглядит так:


    Несмотря на то, что файлы у меня имеют расширение sql, внутри не sql код а вот такая штука:

    Prioritys
    pri_id:UUID:UUID

    pri_name:string:normal
    pri_color:color:colorGreen
    pri_default:int:1
    prioritys
    pri_id:UUID:UUID
    pri_object:string:object_task
    pri_name:string:hold
    pri_color:color:colorBlue
    pri_default:int:0
    prioritys
    pri_id:UUID:UUID
    pri_object:string:object_task
    pri_name:string:important
    pri_color:color:colorRed
    pri_default:int:0
    prioritys
    pri_id:UUID:UUID

    pri_name:string:normal
    pri_color:color:colorGreen
    pri_default:int:1
    prioritys
    pri_id:UUID:UUID
    pri_object:string:object_project
    pri_name:string:hold
    pri_color:color:colorBlue
    pri_default:int:0
    prioritys
    pri_id:UUID:UUID
    pri_object:string:object_project
    pri_name:string:important
    pri_color:color:colorRed
    pri_default:int:0

    Структура файла такая: я выполняю вызов функции split(":") применительно к строчке и если получаю что ее размер равен 1 то значит это название таблицы, куда надо записать данные. Иначе это сами данные. Первое поле это название поля в таблице. Второе поле тип, по которому я определяю что мне надо в это самое поле записать. Если это UUID - это значит мне надо сгенерировать уникальное значение UUID. Если string значит мне надо из ресурсов вытащить строковое значение. Если color, то опять-таки, из ресурсов надо вытащить код цвета. Если int или text, то я просто преобразую данное значение в int или String без каких либо телодвижений. Сам код выглядит вот так:

    Private ArrayList> getSQLDatas() { ArrayList> data = new ArrayList<>(); ArrayList files = new ArrayList<>(); AssetManager assetManager = mContext.getAssets(); String dir = mData + mVersion; try { String listFiles = assetManager.list(dir); for (String file: listFiles){ files.add(file); } Collections.sort(files, new QueryFilesComparator()); BufferedReader bufferedReader; String line; int separator = 0; ContentValues cv = null; String fields; String nameTable = null; String packageName = mContext.getPackageName(); boolean flag = false; HashMap hm; for (String file: files){ Log.d(TAG, "file db is " + file); bufferedReader = new BufferedReader(new InputStreamReader(assetManager.open(dir + "/" + file))); while ((line = bufferedReader.readLine()) != null){ fields = line.trim().split(":"); if (fields.length == 1){ if (flag == true){ hm = new HashMap<>(); hm.put(nameTable, cv); data.add(hm); } // наименование таблицы nameTable = line.trim(); cv = new ContentValues(); continue; } else { if (fields.equals("UUID")){ cv.put(fields, UUID.randomUUID().toString()); } else if (fields.equals("color") || fields.equals("string")){ int resId = mContext.getResources().getIdentifier(fields, fields, packageName); Log.d(TAG, fields + " " + resId); switch (fields){ case "color": cv.put(fields, resId); break; case "string": cv.put(fields, mContext.getString(resId)); break; default: break; } } else if (fields.equals("text")){ cv.put(fields, fields); } else if (fields.equals("int")){ cv.put(fields, Integer.parseInt(fields)); } } flag = true; } bufferedReader.close(); } } catch (IOException e) { e.printStackTrace(); } return data; }

    Базы данных в Delphi пишутся для автоматизации работы в разнообразных сферах деятельности предприятий, к примеру, для организации информационно-справочных систем. В промышленности, программы на Delphi, позволяют уйти от рутинной работы с бумажными носителями информации. А, как известно, когда информация хранится на бумаге, то выполнить сортировку, поиск или какую-либо другую операцию достаточно долго, так как придется пересматривать все вручную.

    Когда имеется готовая база данных в Delphi, то не нужно затрачивать свое время на изучение и написание программного кода для курсовой или дипломной работе по программированию баз данных. В наличии имеется много реализованных проектов баз данных, позволяющих написать свою работу на хорошую оценку. Большой выбор проектов на субд Access в Delphi 7 позволит выбрать самый подходящий проект для защиты, такие исходники как учет товаров, учет программ и т.д.. Также имеются проекты с базой данных MySQL и InterBase.

    Сферы, где применяются базы данных

    • Государственные учебные заведения;
    • Перепись населения. Такая база данных позволяет специальным органам проводить быстрый просчет статистики по населению страны. К примеру, можно выполнить сравнение по количеству жителей в разные года выбранного города. Вести базу сотрудников, которые выполняют обход по закрепленным адресам.
    • Коммерческие организации . К ним относятся муниципальные предприятия (унитарные), производственные кооперативы, хозяйственные общества и хозяйства.
    • Торговые предприятия;
    • Агентства недвижимости;
    • Тур-агентства;
    • и прочие предприятия.

    Базы данных

    Новое в категории "Программы для управления и работы с базами данных.":

    Бесплатная
    ProjectDB 5.0.1.2 представляет собой приложение с возможностями формирования проекта, который позволит осуществлять управление большими объемами информации. Приложение ProjectDB разработано с учётом работы программы MS SQL Server, а также ведутся разработки для подключения таких бесплатных баз данных, как PostgeSQL или MySQL.

    Бесплатная
    DBACentral for MySQL 1.8.3 представляет собой аналогичное MS Access решение, которое позволяет выполнять администрирование сервера, разработку БД, а также имеет возможность осуществления расширенного управления данными.

    Бесплатная
    FlexTracer 2.12.1.543 представляет собой мощный трассировщик для SQL-запросов и работает с различными базами данных и функциями, которые экспортируются из DLL. Приложение FlexTracer поможет просмотреть результат выполнения функций, время выполнения и их параметры.

    Бесплатная
    Excel-to-MySQL 2.5 представляет собой приложение по преобразованию в базы данных MySQL документов MS Excel. Приложение Excel-to-MySQL имеет возможность создавать новые базы данных MySQL или осуществлять запись в уже сохранённые или созданные базы данных.

    Бесплатная
    EMS MySQL Manager Pro 4.1.2.1 представляет собой приложение, которое является мощным и довольно эффективным средством для осуществления администрирования для сервера MySQL а также управления его объектами.

    Бесплатная
    DegisyDb 1.0 представляет собой бесплатную библиотеку, которая 12-ю компонентами для выполнения управления и других операций с базами данных.

    Бесплатная
    dbForge Studio для MySQL 5.0.36 представляет собой профессиональное и бесплатное приложение, которое поможет работать более удобно и быстро пользователям MySQL и разработчикам баз данных.

    Бесплатная
    DB Navigator for DBF 2.0.0.21 даст возможность удобно и просто осуществлять обработку данных в базах данных. Приложение DBNavigator for DBF позволяет осуществлять такие операции с базами данных, как добавление, редактирование и удаление таблиц, а также запись, выполнение SQL-скриптов, копирование таблиц полностью или их структур.

    Бесплатная
    Database Workshop 5.32 представляет собой приложение по работе с различными базами данных. Приложение Database Workshop позволяет выполнять профессиональную обработку баз данных, и оснащено широкими возможностями для проведения анализа исследуемых баз данных.

    Бесплатная
    Database Tour 6.5.2.1048 является мощным и удобным приложением, которое будет выполнять для вас работу с базами данных. Приложение Database Tour проводит работу с данными различных форматов и поможет облегчить или автоматизировать наиболее часто выполняемые операции с базами данных.

    Бесплатная
    CDBF - DBF Viewer and Editor 2.15 представляет собой довольно мощный редактор и вьюер файлов формата DBF, который даёт возможность выполнять большое количество операций с базами данных и не прибегать к программированию при помощи стандартного интерфейса Windows.

    Бесплатная
    Access-to-MySQL Pro 2.5 является качественным приложением по конвертации ваших баз данных из формата Access в такой формат, как MySQL. Приложение «Access-to-MySQL Pro» осуществляет поддержку всех типов данных и атрибутов файлов MySQL, а также может выполнять работу со всеми из версий MySQL серверов, которые работают в операционных системах, как Windows, так Linux или Unix.

    Введение

    База данных (БД) - это именованная совокупность данных, отражающая состояние объектов и их отношений в предметной области.

    СУБД – это компьютерная программа, ответственная за создание, редактирование, удаление и, как правило, хранение баз данных (БД) или коллекций записей данных.

    Функции СУБД:

    1.Определение структуры создаваемой базы данных, ее инициализация и проведение начальной загрузки.

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

    3. Обеспечение логической и физической независимости данных.

    4. Защита логической целостности базы данных.

    5. Защита физической целостности.

    6. Управление полномочиями пользователей на доступ к базе данных.

    7. Синхронизация работы нескольких пользователей.

    8. Управление ресурсами среды хранения.

    9. Поддержка деятельности системного персонала.

    Глава 1

    1.1.Типы СУБД:

    Реляционные

    Реляционные СУБД являются наиболее распространенным видом систем управления базами данных на данный момент. Они действительно легки в использовании. Реляционные СУБД имеют такое название, т.к. они хранят упорядоченные данные в таблицах. Реляционная модель основывается на хранении упорядоченных данных в столбцах и строках. Данные могут быть связаны в пределах одной таблицы или разных таблиц. Типы реляционных СУБД могут уступать в производительности по сравнению с другими видами систем управления базами данных, однако они не имеют проблем с вычислительной мощностью и поиском памяти в современных ПК. Данные в этом типе СУБД хранятся в точно определенном виде, а управление ими, обычно, выполняется с помощью языка программирования SQL (Structured Query Language). Так же можно указать наиболее популярные типы СУБД – Oracle, MSSqlServer, IBMDB2,PostgreSQL и многие другие.

    Системы управления базами данных с плоскими файлами

    СУБД с плоскими файлами (FlatFile), возможно, являются наиболее простыми из всех. Их еще иногда называют плоской моделью. Идея заключается в запуске одинокого приложения, которое содержит настройки программы и оригинальный формат модели хранения. Плоские файлы в форматированных строках и столбцах предполагают, что каждый элемент в конкретной модели содержит ту же информацию. Один широко известный пример данного типа СУБД – это CSV (Comma Separated Values) и другим являются таблицы, как MS Excel.

    Иерархические

    Иерархические СУБД основываются на использовании модели семейного дерева. Здесь элементы обычно имеют отношение один-ко-многим и хорошо хранить информацию с описанием элементов, характеристиками и т.п. Здесь можно хранить книгу с главами и стихами. Иерархические типы СУБД могу использоваться для хранения баз данных с песнями, рецептами, моделями телефоном и вообще с чем угодно, что может храниться во вложенном формате. Иерархические виды систем управления базами данных могут уступать в эффективности при работе с различными реальными объектами. Одним из примеров иерархических типов СУБД является документ XML.

    Сетевые

    Сетевые системы управления базами данных используют, схожую с иерархической, модель данных. Главное различие заключается в том, что структура сетевой СУБД позволяет иметь много родителей для многих потомков. Сетевые типы СУБД основываются на записях и множествах, а для своей работы используют SQL. Сетевые системы управления базами данных склонны к большой гибкости, однако они стали редко использоваться после 1960-1970. В поисках необходимого элемента, запрашивающая программа проходит полностью все установленные элементы, что может быть слишком громоздко. Данный тип систем управления БД был практически заменен реляционными.

    Выбор программы для написания базы данных

    В своей курсовой работе я использовала реляционную базу данных используя программу Microsoft Access.

    Microsoft Access – одна из наиболее популярных СУБД для операционной системы Microsoft Windows . Кроме того, СУБД Access является мощной платформой разработки с гибкой и функциональной интегрированной средой. Microsoft Access может использоваться как инструмент для разработки и развертывания широкопредметных информационных бизнес-систем.

    В Access используются следующие основные типы полей :

    текстовый : предназначен для текстовой информации и чисел, когда нет необходимости выполнения математических операций с ними;

    числовой : предназначен для чисел при использовании их в математических расчетах;

    MEMO : предназначен для хранения произвольного текста или комментариев (длиной до 64000 символов);

    денежный : предназначен для хранения чисел, отражающих денежные суммы;

    дата/время : предназначен для хранения информации о дате и времени;

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

    логический : предназначен для хранения всего двух значений “Истина” и “Ложь”;

    поле объекта OLE : предназначено для хранения объектов, созданных другими приложениями (рисунки, графики, диаграммы).

    В Microsoft Access существует несколько способов отобрать только требуемые данные при выполнении поиска конкретного значения, одной записи или группы записей.

    С помощью диалогового окна “Поиск” легко найти конкретные записи или определенные значения в полях. При обнаружении каждого вхождения требуемого элемента выполняется перемещение по записям. Если нужно заменить конкретные обнаруженные при поиске значения, следует воспользоваться диалоговым окном “Замена”.

    Запросы дают возможность работать с конкретным набором записей, которые удовлетворяют условиям, заданным для одной или нескольких таблиц базы данных. При выполнении запроса становится возможной независимая работа с этим набором записей в конкретной форме или в объекте в режиме таблицы.

    Сортировка дает возможность упорядочить строки в таблице согласно содержимому одного или нескольких столбцов. Для сортировки выбирается поле, по которому будет осуществляться сортировка, и нажимается кнопка “Сортировка по возрастанию” или “Сортировка по убыванию” на панели инструментов.

    Фильтрация позволяет временно изолировать и просмотреть конкретный набор записей, отвечающих определенным условиям. Для фильтрации выбираются данные, по которым следует провести отбор, и нажимается кнопка “Фильтр по выделенному” на панели инструментов. Для того, чтобы поправить фильтр используется кнопка “Изменить фильтр”. Для задания более подробного условия для фильтрации в меню “Запись” используется команда “Фильтр” и подкоманда “Расширенный фильтр”. Для применения обычного или расширенного фильтра, используется кнопка “Применить фильтр” на панели инструментов.

    Глава 2

    Постановка задачи

    Цель базы данных Гостиница – автоматизация процесса учета и анализа данных гостиницы.

    Задачи, решаемые при использовании базы данных:

    Хранение и поиск данных о сотрудниках гостиницы;

    Хранение и поиск информации о клиентах гостиницы;

    Хранение и поиск информации о номерах;

    Хранение данных о бронировании, заселении, выезде клиентов и вычисление оплаты за проживание

    Вычисление и анализ информации о поступлении оплаты за проживание от клиентов компании;

    Поиск информации по основным позициям: забронированные номера, заезд за период, выезд за период.

    Создание базы данных

    Для создания базы данных MS Access использован Конструктор таблиц, который позволяет определить требуемую структуру таблицы.

    Для отображения полной информации по состоянию гостиницы, направлениям её деятельности и отчётности по выполненным работам, созданы следующие таблицы:

    1. «Сотрудники»

    Таблица имеет следующие поля: код сотрудника (ключевое поле)- тип данных: счётчик; фамилия, имя, отчество – тип данных: текстовый, размер – 50, необязательное, совпадения не допускаются; дата рождения –тип данных: дата\время, необязательное; образование –тип данных: мастер подстановок – набор фиксированных данных (высшее, среднее); должность –мастер подстановок(список имеющихся должностей); адрес – тип данных: текстовый, размер-50, необязательное; телефон – тип данных: числовой, поле необязательное; оклад – тип данных: денежный, формат поля – рубли, необязательное. Таблица в режиме конструктора имеет вид:

    2. «Должности»

    Данная таблица имеет следующие поля: код должности – счётчик (ключевое поле); должность – тип данных: текстовый (набор основных должностей).

    3. «Номера»

    Эта таблица имеет такие поля: код номера – тип данных счётчик (ключевое поле); категория – тип данных: мастер постановок (одноместный, двухместный, полулюкс, люкс)

    Поля: код категории – тип данных: счётчик (ключевое поле), номер – текстовый; категория – мастер подстановок (номера); количество мест – тип данных: числовой длинное целое, необязательное; количество комнат – аналогично; дополнительная информация – тип данных: МЕМО; стоимость в сутки – тип данных: денежный, формат – рубли, необязательное.

    5. «Состояние номера»

    Поля: код номера – счетчик, ключевое поле; номер - тип данных матер подстановок (аналогичное поле из таблицы «Категории номеров»); сотрудник (горничной) - мастер подстановок (из запроса по таблице «сотрудники», с условием отбора «горничная»), поля - бронь, заезд, выезд – тип данных: дата\время, поле необязательное; клиент – мастер подстановок (из таблицы «Клиенты»).

    6. «Клиенты»

    Поля: код клиента фамилия, имя, отчество – тип данных: текстовый, размер поля- 50, обязательное; дата рождения - тип данных: дата\время, обязательное; пол - мастер постановок (муж, жен); вид документа – мастер постановок (паспорт, в/у, удостоверение личности), обязательное; серия - текстовый, обязательное; номер – числовой, обязательное; кем выдан – текстовый, размер поля – 50, обязательное, дата выдачи – дата\время, обязательное.

    Поля: код ребёнка – тип данных: счётчик (ключевое поле); код клиента – тип данных: мастер подстановок (аналогичное поле из таблицы «клиенты»); фамилия, имя, отчество – тип данных: текстовый, размер поля – 50; дата рождения – тип данных: дата\время.

    Схема данных имеет вид:

    Таблица Состояние номеров и Сотрудники связаны через запрос по Сотрудникам, с условием отбора «горничная».

    Для удобства работы созданы запросы для базы Гостиница.

    Запрос №1 – «Бронь»

    В строке Условие отбора введено следующее условие:

    >=[с] And <=[по]

    Означающее отбор полей за определенный период времени.

    Аналогично созданы запросы 2 и 3.

    Запрос №2 - «Заезд в номера»

    Запрос №3 – «Выезд из номеров»

    Запрос №4 – «Клиенты с детьми».

    Запрос в режиме конструктора выглядит следующим образом:

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

    Запрос №5 – «Оплата за проживание».

    Запрос содержит выражение, отражающие вычисление стоимости проживания для каждого клиента.

    Запрос №6 – «Оплачено за месяц».

    Запрос содержит выражение, отражающие вычисление стоимости проживания для каждого клиента:

    Оплата за проживание: (Состояние_номера.Выезд-Состояние_номера.Заезд+1)*Категории_номеров.[Стоимость в сутки].

    А также отбор полей за период.

    Запрос №7 – «Оплата для графика».

    Аналогичен запросу 6, за исключением выбора периода для отбора полей. На основании данных этого запроса строятся диаграммы для анализа, а также сводные таблицы.

    Запрос №8 – «Должности Запрос».

    Запрос с условием отбора по сотрудникам «горничная». Используется для подстановки данных в таблицу Состояние номеров.

    Создание этих запросов значительно упрощает деятельность по отчётности в гостинице, удобно систематизирует информацию, и позволяет оперативно её использовать и вносить изменения. Список запросов представлен ниже:

    Отчеты следующие:

    Работа с базой начинается с открытия формы Гостиница:

    Слева кнопки для открытия отчетов, справа для введения и просмотра данных по основным позициям.

    Например, форма Информация о номерах имеет следующий вид:

    Здесь можно посмотреть всю информацию о номере гостиницы, а также список всех номеров, выбираю в котором позицию, мы можем тут же увидеть всю информацию о номере. В Левом нижнее углу расположены кнопки для удобства работы с записями. В правом верхнем кнопка для открытия формы Ввести категорию номера.

    Используя кнопку Бронирование Заезд Выезд, мы откроем форму:

    В которой имеются три вкладки:

    Информация о номерах – полная информация о имеющихся номерах;

    Динамика поступлений – динамика поступлений по номеру:

    Свод по оплате – сводные данные по оплате за номер:

    Кнопка Сотрудники гостиницы открывает следующую форму:

    Здесь можно посмотреть информацию о сотрудниках, а также ввести необходимую информацию.

    С помощью выведения отчетов, решаются задачи поиска информации о состоянии номеров: бронь, заезд, выезд, - а также отражение информации об оплате, вывод квитанции для клиента.

    Таким образом, данная база решает поставленные задачи.

    Заключение

    В ходе выполнения курсовой работы была создана база данных «Гостиница». Эта база данных предназначена для работников, так как она упрощает процесс обслуживания клиентов.

    В эту базу данных входит: таблицы, запросы, формы и отчеты, а так же окно автозапуска для удобства работы.

    Литература:

    1. Дейт, К., Дж. Введение в системы баз данных. 6-е изд. – К.; М., СПб.: «Вильямс», 2000. – 848с.

    2. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений/Под ред. проф. А.Д. Хомоненко. – СПб.: КОРОНА принт, 2002. – 672с.

    3. В.В. Корнеев, А.Ф. Гареев, С.В. Васютин, В.В. Райх Базы данных. Интеллектуальная обработка информации. – М.: Нолидж, 2001.- 496с.

    4. Праг К., Ирвин М., “Библия пользователя Access для Windows 2000”, К.:Диалектика, 2001 – 576с..

    5. Гарнаев А.С, "Самоучитель VBA", СПб, 1999. – 104с.

    6. Microsoft Access 2010. Разработка приложений на реальном примере - Г. Гурвиц - 496с.

    7. Проектирование баз данных. СУБД Microsoft Access. Учебное пособие - Н. Н. Гринченко, Е. В. Гусев, Н. П. Макаров - 240с.

    8. Access 2007. Эффективное использование - В. Е. Кошелев - 590с.

    Другое