Sql запросы в базах данных
ВВЕДЕНИЕ
Базы данных
всегда были важнейшей темой при
изучении информационных систем. Однако
в последние годы всплеск популярности
Интернета и бурное развитие новых
технологий для Интернета сделали
знание технологии баз данных для
многих одним из актуальнейших путей
карьеры. Технологии баз данных увели
Интернет-приложения далеко от простых
брошюрных публикаций, которые характеризовали
ранние приложения. В то же время
Интернет-технология обеспечивает пользователям
стандартизированные и
Цель базы
данных — помочь людям и организациям
вести учет определенных вещей. На первый
взгляд, эта цель кажется скромной,
и вы, возможно, удивитесь, зачем
нам нужна такая сложная
Процесс подготовки и решения задач на компьютерах состоит из нескольких этапов:
- постановка задачи;
- построение модели;
- разработка алгоритма;
- написание и отладка программы на языке программирования;
- тестирование программы.
При разработке программ применяют метод структурного программирования: разделение задачи на относительно независимые части и выполнение отладки этих частей. При этом достигается качество и быстрота разработки программ.
Развитие вычислительной техники с самого начала было направлено на облегчение и ускорение ввода, поиска данных. Базы данных используются во многих предприятиях, отраслях науки и т.д. Разработано множество готовых языков программирования, с помощью которых можно создавать базы данных.
Используя Borland C++ Builder, можно создать приложения, работающие как с однопользовательскими базами данных (БД), так и с серверными СУБД, такими как Oracle, Sybase, Informix, Interbase, MS SQL Server, DB2, а также с ODBC-источниками. Возможности C++ Builder, связанные с созданием приложений, использующих базы данных, весьма обширны для того, чтобы описать их в одной статье. Поэтому сегодня мы рассмотрим лишь простейшие возможности работы с таблицами баз данных.
Набор данных в C++ Builder - это объект, состоящий из набора записей, каждая из которых, в свою очередь, состоит из полей, и указателя текущей записи. Набор данных может иметь полное соответствие с реально существующей таблицей или быть результатом запроса, он может быть частью таблицы или объединять между собой несколько таблиц.
Набор данных в C++ Builder является потомком
абстрактного класса TDataSet (абстрактный
класс - это класс, от которого можно
порождать другие классы, но нельзя
создать экземпляр объекта
- Понятие базы данных
База данных — организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей.
Существует множество других определений, отражающих скорее субъективное мнение тех или иных авторов о том, что означает этот термин в их понимании, однако общепризнанная единая формулировка отсутствует. Наиболее часто используются следующие отличительные признаки: База данных хранится и обрабатывается в вычислительной системе. Таким образом, любые внекомпьютерные хранилища информации (архивы, библиотеки, картотеки и т. п.) базами данных не являются.
Данные в базе данных логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе.
Структурированность подразумевает явное выделение составных частей (элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента (связи) соотносится определённая семантика и допустимые операции.
Из перечисленных признаков только первый является строгим, а другие допускает различные трактовки и различные степени оценки. Можно лишь установить некоторую степень соответствия требованиям к БД.
Многие специалисты указывают на распространённую ошибку, состоящую в некорректном использовании термина база данных вместо термина система управления базами данных. Эти понятия, следовательно, необходимо различать.
Базы данных необходимы для хранения и фильтрации информации, для её обработки и обмена. В целом, спектр применения достаточно широкий. По всему миру люди используют БД, начиная от простого пользователя-любителя, заканчивая крупнейшими мировыми корпорациями.
База данных – это хранилище для большого количества систематизированных данных, с которыми можно производить определённые действия. Под действиями понимается добавление, удаление, изменение, копирование, упорядочивание и прочее.
Все данные в БД можно представить в виде записей или объектов.
Для успешной работы с БД необходимы какие-то программные средства, при помощи которых можно было бы создавать и управлять БД. Для этого существуют Системы Управления Базами Данных (СУБД).
СУБД – совокупность языковых и программных средств, обеспечивающих создание, использование и ведение БД.
Существует два вида СУБД: локальные и сетевые.
Локальные – это СУБД, работающие на одном компьютере. К таким относятся dBase, FoxPro, Microsoft Access, Paradox и т.д.
Сетевые – это СУБД, позволяющие нескольким компьютерам использовать одну и ту же БД с помощью технологии клиент-сервер. Примером таких СУБД являются InterBase, Oracle, Microsoft SQL Server и т.д.Поскольку мы разбираем общие понятия, то расскажу немного о взаимосвязи данных.
Существует 4 типа взаимосвязи данных:
1) Один к одному
2) Один ко многим
3) Много к одному
4) Много ко многим
Вид взаимосвязи один к одному означает, что каждая запись одного объекта БД будет указывать на единственную запись другого объекта.
Один ко многим
означает, что одной записи объекта
БД будет соответствовать
Много к одному означает, что нескольким записям объектов БД будет соответствовать одна запись другого объекта.
Много ко многим
устанавливается между двумя
типами объектов БД.
Технология разработки приложения для работы с базой данных
Для разработки системы управления базой данных можно воспользоваться как стандартными СУБД (Access, Paradox, dBase и т.д.), так и разработать самостоятельное приложение для работы с БД. Разработка самостоятельного приложения для работы с БД имеет ряд преимуществ по сравнению с использованием готовых пакетов:
1) ресурсы
ОС задействованы только для
тех задач, которые будут
2) полученные
программные модули очень
3) обеспечивается
более высокое быстродействие
вследствие использования
4) многообразие
реализаций максимально
5) возможность
интегрироваться в любые
6) осуществление расчётных задач такого уровня сложности, которая не может быть обеспечена применением готовых СУБД.
Для разработки системы управления базой данных воспользуемся интегрированной средой визуальной разработки Windows-приложений Borland C++ Builder. Одним из важнейших достоинств C++ Builder является наличие удобных средств быстрой визуальной разработки приложений с использованием специализированных компонент доступа и управления базами данных, генерации отчётов, запросов SQL, a так же наличие технологии Borland Database Engine (BDE), обеспечивающей доступ к большинству известных баз данных с использованием их собственных драйверов.
- Пошаговое выполнение работы
1. Запустить интегрированную среду Borland C++ Builder (Пуск -> Программы -> Borland C++Builder -> C++Builder).
2. Для программирования баз данных используются следующие вкладки палитры компонент: Data Access, Data Control и ADO.
3. Вкладка ADO содержит компонент TADOConnection, который предназначен для управления соединением с объектами хранилища данных ADO. Перенесите на макет формы приложения компонент TADOConnection.
Для настройки данного компонента надо выполнить следующие действия:
– двойным щелчком на компоненте TADOConnection вызовите редактор настройки соединения ADO:
– нажмите кнопку Build. В результате появляется диалоговое окно Data Link Properties, в котором можно настроить параметры соединения:
– нажмите кнопку Далее >> и укажите путь к базе данных operator.MDB:
– нажмите кнопку Проверить подключение. Если все сделано правильно, то появится сообщение
4. Для того, чтобы в дальнейшем данный компонент не запрашивал логин и пароль для доступа к базе данных необходимо установить его свойство LoginPrompt в false.
5. Компонент ADOTable связывает таблицу базы данных с приложением и позволяет оперировать с таблицей. Перенесите на макет формы приложения компонент ADOTable.
6. Вкладка Data Access содержит компонент DataSource (первый слева), который связывает компоненты отображения информации с компонентом ADOTable. Перенесите на макет формы приложения компонент DataSource
7. Настройте свойства компонент ADOTable и DataSource в соответствии с табл. 2.
Компонента |
Свойство |
Значение |
ADOTable |
Connection |
ADOConnection1 |
Name |
ADOTable1 | |
TableName |
Stud | |
DataSource |
Name |
DataSource1 |
DataSet |
ADOTable1 |
Таблица 2. Свойства компонент приложения
8. Вкладка Data Control содержит компоненты:
DBGrid - для отображения и редактирования записей базы данных (первый компонент).
DBNavigator - для управления данными (удаление, добавление, перемещение и т. д.).
9. Перенесем на макет формы приложения компоненты DBGrid и DBNavigator настроив их свойства в соответствии с табл. 3.
Компонента |
Свойство |
Значение |
DBGrid |
Name |
DBGrid1 |
DataSource |
DataSource1 | |
DBNavigator |
Name |
DBNavigator1 |
DataSource |
DataSource1 |
Таблица 3. Свойства компонент приложения
10. Для отображения таблицы в компоненте DBGrid устанавливается свойство компонента ADOTable Active в true.
11. Внешний
вид макета формы приложения
должен соответствовать
Рис. Макет формы приложения для работы с таблицей «Информация об абонентах»
12. Компоненты вкладки Data Access являются служебными и относятся к невидимым (т. е. отображаются на стадии разработки приложения и не отображаются в процессе выполнения), a Data Control к отображаемым как в процессе разработки, так и в процессе выполнения.
Определимся с основными свойствами компонент.
Основные свойства объекта ADOTable:
Name - имя объекта используемое в программе (является указателем, заданным в соответствии с шаблоном компоненты); Connection – указывает на соединение с объектом хранилища данных ADO (в нашем случае это файл DEKANAT.MDB); TableName – имя файла таблицы (выбирается из списка, если указан псевдоним БД или файл с таблицей и проект находятся в одном каталоге); Active – позволяет отображать данные из таблицы в процессе разработки и автоматически открывает файл при выполнении (когда установлено true).
Служебная компонента DataSource выполняет роль связующего звена и имеет следующие свойства:
Name - имя объекта используемое в программе (является указателем, заданным в соответствии с шаблоном компоненты); DataSet - имя таблицы связанной с данным объектом (выбирается из списка).
Объект ADOTable позволяет приложению работать с таблицей, но для отображения данных на экране необходимо использовать компоненту DBGrid.
Основные свойства объекта DBGrid: Name - имя объекта используемое в программе (является указателем, заданным в соответствии с шаблоном компоненты); DataSource – имя источника данных, посредством которого осуществляется связь объекта DBGrid с объектом Table (выбирается из списка).
Объект DBGrid позволяет не только отображать данные, но и управлять ими (перемещаться по записям, добавлять и редактировать записи и т.д.). Однако ряд действий эффективней выполнять с использованием объекта DBNavigator.
Основные свойства объекта DBNavigator: Name – имя объекта (указатель); DataSource – имя источника данных, посредством которого осуществляется управление компонентой ADOTable, выбирается из списка .
13. После
компиляции и запуска
14. Далее, для отображение следующей таблицы создаем новую форму (File-New-Form C++ Bilder), и помещаем на нее компоненты ADOTable и DataSource.
15. Для связи Form1 и Form2 в файле Unit1.cpp дописываем директиву #include "Unit2.h". после этого, размещенные на Form2 компоненты можно будет подключить к размещенному на Form1 TADOConnection. Повторим эти действия для подключения оставшихся таблиц.
16. Разместим компоненты на главной форме, как показано на рисунке.
Рис. Дизайн главной формы.
17. Для созданных кнопок «Показать таблицу оплаты», «Показать таблицу «Тарифы»» и «Услуги» опишем событие «ButtonClick», вызываемое двойным кликом, после чего наша программа сможет переходить на формы с оставшимися таблицами.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
}
Повторим действия для кнопок «Тарифы» и «Услуги» меняя в коде названия форм.
Процедура подсчета абонентов осуществляется следующим образом:
void __fastcall TForm1::Button4Click(TObject *Sender)
{
int kol=0;
ADOTable1->First();
while (ADOTable1->Eof !=true)
{kol=kol+1;
ADOTable1->Next();
}
Edit1->Text=IntToStr(kol);
}
18. На форме «Показать таблицу оплаты» добавим кнопку «Сумма в системе».
Создадим событие, высчитывающее средний балл группы по предмету:
void __fastcall TForm1::Button4Click(TObject *Sender)
{
int kol=0;
ADOTable1->First();
while (ADOTable1->Eof !=true)
{kol=kol+1;
ADOTable1->Next();
}
Edit1->Text=IntToStr(kol);
}
Заключение
Данная работа выполнена на языке высокого уровня программирования в среде Borland С++, Первые версии языка программирования С++ (тогда он назывался "Си с классами") были разработаны в начале 80-х годов Бьярном Страуструпом, сотрудником знаменитой AT&T Bell Labs, где ранее были разработаны такие шедевры программирования, как операционная система UNIX и язык программирования Си. При написании и разработки программного обеспечения использовались различные возможности С++.
В рамках курсовой работы была разработана база данных, в которой собраны сведения о пользователях мобильной связи и предоставляемых тарифах и услугах. В данной базе отображаются следующие сведения:
- Информация об абонентах
- Оплата
- Тарифы
- Услуги
В базе отображены сведения об абонентах с указанием места жительства, паспортные данные, полученный номер, тариф, и подключенные услуги, с точным указанием стоимости использования той или иной функции.
Возможности разработанного приложения:
- Просмотр таблиц базы данных
- Добавление, удаление, изменение записей в таблицах
- Подсчет суммы платежей абонентов
- Подсчет количества абонентов сети.
Данная курсовая
работа позволила укрепить знания,
которые были получены в процессе
учебы, и реализовать их в виде
данной программы.
Список литературы
- "C++ Builder 5: 70 компонентов ввода/вывода инф.", Аpхангельский А.
- "Язык C++ Builder 5. Справочное пособие", Архангельский А.
- Borland C++ Builder 5. Энциклопедия программиста. Калверт Ч., Рейсдорф К., "ДиаСофт" - 2001, 944 стр.
- Borland C++ Builder 5. Энциклопедия программиста. Калверт Ч., Рейсдорф К., "ДиаСофт" - 2001, 944 стр.
- http://www.codenet.ru/
- А. Мешков, Ю. Тихомиров «Visual C++ и MFC» - СПб.:БХВ-Петербург. 2002 — 1017с.
- В.Шелест. Программирование. 2002.
- Г. Шилдт «Самоучитель С++» - СПб.:БХВ-Петербург. 2001. — 670с.
- Герберт Шилдт. Полный справочник по С++. Ossborne. 2003
- Джарод Холингвэрт, Дэн Баттерфилд, Боб Сворт, Джэйми Оллсоп C++Builder 5. Руководство разработчика.
- Е Зуев, А Кротов "Новые возможности языка Си++", PC Magazine/Russian Edition, #7, 1994.
- Карпов Б., Баранов Т. «С++: специальный справочник» - СПб.: Питер, 2001. — 480 с.:ил.
- Культин Н. «С/С++ в задачах и примерах» - СПб.:БХВ-Петербург, 2002. — 288 с.
- П. Дейтел, X. Дейтел. / Как программировать на С++. - М, Издательство "Бином" 2001 - 1152 стр.
- Стивен Прата. /Язык программирования С. - М. Издательство "Диасофт", 2002. - 896 с.

- SQL курсовая работа
- SQL – стандартный язык реляционных баз данных
- Standartization and certification
- STEP-анализ. Анализ деятельности и конфликтов ОАО «Большой гостиный двор»
- STEP-анализа предприятия пансионата с лечением ООО «Бригантина»
- StokRoute: интегрированное решение
- Strategic management
- Social categorization in companies
- Šodien Latvijas
- Software engineering methodologies
- Sony Xperia Marketing Plan
- SousVide - уникальная технология приготовления еды
- Special economic zones in the world economy
- Sp-алгоритм метода решений частичных проблем собственных значений. Градиентный метод расходящегося ряда. Метод Девидона-Флетчера- Пауэлла