
- •Содержание
- •Введение
- •1 Постановка задачи
- •1.1 Цель
- •1.2 Использование
- •2.Теоретическая часть
- •2.3 Основные этапы проектирования баз данных
- •2.3.1 Концептуальное (инфологическое) проектирование
- •2.3.2 Логическое (даталогическое) проектирование
- •2.3.3 Физическое проектирование
- •2.4 Нормализация
- •2.5 Модели «сущность-связь»
- •3 Проектирование базы данных
- •3.1 Создание инфологической модели бд. При реализации бд были вынести следующие объекты. Объект учёта – музыка. Необходимо ввести характеристики для игры.
- •4 Проектирование пользовательского интерфейса информационной системы.
- •Заключение
Заключение
В рамках курсовой работы была разработана база данных «Информационная система музыкальных жанров», при помощи программного средства MS Office Access и был написан пользовательский интерфейс в Borland Builder C++
Данная БД будет может использоваться для ознакомления с музыкальными жанрами, под жанрами времени их зарождения так же пользователь может узнать о наиболее ярких представителях того или иного исполнителя, может использоваться в качестве музыкального магазина ,а так же в учебных целях, так как интерфейс интуитивно понятен и удобен в использовании.
Список
литературы
1. А.Я. Архангельский Программирование в с++ Builder 6 –М.: « Издательство Бином»,2003г.-1152 с.: ил.
2. Шилдт Г. Самоучитель С++:Пер. с англ.-3-е изд. – СПб.: БХВ-Петербург, 2003.-688с.
3. Франка П. С++: учебный курс.- СПб.: Питер,2003.-521 с.: ил.
4. Стенли Липпман, Жози Лажойе - Язык программирования C++. Вводный курс.:- СПб.: Питер,2006.- 621 с.: ил
5. http://ru.wikipedia.org
6. http://www.codenet.ru
Приложение. Листинг программы
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N1Click(TObject *Sender)
{
Close();
}
void __fastcall TForm1::myFunc(TADOQuery * Query, TADOTable * Table,AnsiString Comb, AnsiString Edit)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT * FROM " + Table->TableName + " WHERE " + Comb + " LIKE " + "'%" + Edit + "%'");
Query->ExecSQL();
Query->Open();
return void();
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
myFunc(qAlbums, ADOTable1, ComboBox1->Text, Edit2->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
myFunc(qGenre, ADOTable2, ComboBox2->Text, Edit3->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
myFunc(qRecordFirm, ADOTable3, ComboBox3->Text, Edit3->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
myFunc(qDirection, ADOTable5, ComboBox5->Text, Edit4->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
myFunc(qSubgenre, ADOTable6, ComboBox4->Text, Edit6->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::edRecClick(TObject *Sender)
{
myFunc(qRepresentative, ADOTable8, ComboBox6->Text, Edit7->Text);
}
//---------------------------------------------------------------------------
//обновление функции
void __fastcall TForm1::N3Click(TObject *Sender)
{
qAlbums->Close();
qGenre->Close();
qRecordFirm->Close();
qDirection->Close();
qSubgenre->Close();
qRepresentative->Close();
qAlbums->Open();
qGenre->Open();
qRecordFirm->Open();
qDirection->Open();
qSubgenre->Open();
qRepresentative ->Open();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DBGrid6TitleClick(TColumn *Column)
{
if (qAlbums->Active)
if ((qAlbums->Sort.Pos(Column->FieldName) > 0) && (qAlbums->Sort.Pos("ASC") > 0))
{qAlbums->Sort = Column->FieldName + " DESC";}
else
{qAlbums->Sort = Column->FieldName + " ASC";}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DBGrid2TitleClick(TColumn *Column)
{
if (qGenre->Active)
if ((qGenre->Sort.Pos(Column->FieldName) > 0) && (qGenre->Sort.Pos("ASC") > 0))
{qGenre->Sort = Column->FieldName + " DESC";}
else
{qGenre->Sort = Column->FieldName + " ASC";}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DBGrid3TitleClick(TColumn *Column)
{
if (qRecordFirm->Active)
if ((qRecordFirm->Sort.Pos(Column->FieldName) > 0) && (qRecordFirm->Sort.Pos("ASC") > 0))
{qRecordFirm->Sort = Column->FieldName + " DESC";}
else
{qRecordFirm->Sort = Column->FieldName + " ASC";}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DBGrid5TitleClick(TColumn *Column)
{
if (qDirection->Active)
if ((qDirection->Sort.Pos(Column->FieldName) > 0) && (qDirection->Sort.Pos("ASC") > 0))
{qDirection->Sort = Column->FieldName + " DESC";}
else
{qDirection->Sort = Column->FieldName + " ASC";}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DBGrid1TitleClick(TColumn *Column)
{
if (qSubgenre->Active)
if ((qSubgenre->Sort.Pos(Column->FieldName) > 0) && (qSubgenre->Sort.Pos("ASC") > 0))
{qSubgenre->Sort = Column->FieldName + " DESC";}
else
{qSubgenre->Sort = Column->FieldName + " ASC";}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DBGrid7TitleClick(TColumn *Column)
{
if (qRepresentative->Active)
if ((qRepresentative->Sort.Pos(Column->FieldName) > 0) && (qRepresentative->Sort.Pos("ASC") > 0))
{qRepresentative->Sort = Column->FieldName + " DESC";}
else
{qRepresentative->Sort = Column->FieldName + " ASC";}
}
//---------------------------------------------------------------------------
//добавление
void __fastcall TForm1::edsIdClick(TObject *Sender)
{
tbAl->Insert();
tbAl->FieldByName("id")->AsString=edsId->Text;
tbAl->FieldByName("id_звукозаписывающая фирма")->AsString=edsId->Text;
tbAl->FieldByName("имя_испонителя")->AsString=edsId->Text;
tbAl->FieldByName("название_последнего_альбома")->AsString=edsId->Text;
//тут можно изменять и другие поля если нужно
tbAl->Post();
edIds->Text="";
edNI->Text="";
edRec->Text="";
edsNA->Text="";
qAlbums->Active=false;
qAlbums->Active=true;
}