“Комп'ютери та комплектуючі”

Вид материалаДокументы

Содержание


Постановка задачі
Проектування бази данних
Тип данних
Default 'lg'
3.3 Заповнення таблиць:виконується через вікно інтерфейсу
Visual Studio 2008 Professional Edition
5.Опис програмної реалізації
6. Тестовий приклад
Список використованої літератури
Подобный материал:
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

ОДЕСЬКИЙ НАЦІОНАЛЬНИЙ ПОЛІТЕХНІЧНИЙ

УНІВЕРСИТЕТ

ІНСТИТУТ БІЗНЕСУ, ЕКОНОМІКИ ТА

ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ


Курсовий проект з бази даних

на тему

“Комп'ютери та комплектуючі”


виконала

ст. групи ОЕ-061

Калмацуй А.П.


Одеса 2010

Введення


Мета курсової роботи – створення інформаційної системи для мережі магазинів комп'ютерів та їх комплектуючих.Використання цієї системи дозволить набагато підвищити зручність праці та збільшить кількість обслуговуємих клієнтів. Користувач зможе отримати швидкий доступ до інформації про ціни на комплектуючі комп'ютерів, адресу магазинів і т. д. При необхідності, можна занести в базу данних нові комплектуючі та інформацію про них.


  1. Постановка задачі

База даних призначена для автоматизації роботи мережі комп'ютерних магазинів. Система містить інформацію про комплектуючі комп'ютерів і ціни на них, про працівників магазинів (ФІО, посада, контактний телефон, місце роботи). Також в базі даних є інформація про країни постачальниках і країнах виробників. Користувач бази даних, знаючи код необхідної деталі, може швидко відшукати її, взнати ціну і адресу магазина, де вона продається.


  1. Проектування бази данних



Визначимо типи основних сутностей


Об'єкт

Опис

mestahraneniya

Місця зберігання товару, що є на складі. Це підрозділи мають різне територіальне розташування і різних матеріально-відповідальних осіб (МОП).

tovari

Товари і їх характеристики

sotrudniki

Фізичні особи, які працюють в даному магазині.

postavki

Інформація про поступлення товару.

prodazhi

Інформація про продажі товару.

ostatki

Інформація про залишки товарів в місцях зберігання.



Визначимо типи зв'язків між отриманими сутностями:

Сутність 1

Степінь зв'язку

Сутність 2

postavki

N:1

mestahraneniya

postavki

N:1

tovari

postavki

N:1

sotrudniki

prodazhi

Ny:1

mestahraneniya

prodazhi

Ny:1

tovari

prodazhi

Ny:1

sotrudniki

ostatki

Ny:1

mestahraneniya

ostatki

1y:1

tovari



Визначення атрибутів:

Сутність

Атрибут

Тип данних

mestahraneniya

id_sklada

Ключове поле, цілий

naimenovanie

Символьний

raspolozhenie

Символьний

mol

Символьний

tovari

id_tovara

Ключове поле, цілий

articul

Символьний

name

Символьний

firma

Символьний

zenazakupki

Речовий

units

Домен ОдиницяВиміру

zenaprodazhi

Речовий

sotrudniki

id_pasporta

Ключове поле, цілий

dolzhnost

Символьний

adress

Символьний

telefon

Символьний

fio_kontaktnlica

Символьний

postavki

id_postavki

Ключове поле, цілий

strana

Символьний

telefon

Символьний

datapostavki

Дата

sklad

Цілий (mestahraneniya)

tovar

Цілий (tovari)

sotrudniki

Цілий (sotrudniki)

kolichestvo

Цілий

prodazhi

id_nakladnoy

Ключове поле, цілий

data

Дата

sklad

Цілий (mestahraneniya)

tovar

Цілий (tovari)

sotrudniki

Цілий (sotrudniki)

kolichestvo

Цілий

ostatki

sklad

Цілий (mestahraneniya)

tovar

Цілий (tovari)

kolichestvo

Цілий



Інформаційна модель





3. Створення бази данних

3.1 Створення доменів:

CREATE DOMAIN "наименования" char(50)

DEFAULT 'Видеокарта'

CHECK (VALUE in('Видеокарта','Процессор','Материнская плата','Оперативная память','Жесткий диск','Монитор','Блок питания','Привод'));


CREATE DOMAIN "фирмыпроизводители" char(50)

DEFAULT 'LG'

CHECK (VALUE in('LG','SAMSUNG','ASUS','SEAGATE BARRACUDA','HYNIX ORIGINAL','ZALMAN','AMD','NVIDIA','INTEL','RADEON'));

3.2 Створення таблиць:

create table МестаХранения(

Id_склада int primary key,

Наименование char(50),

Расположение char(50),

МОЛ char(50));

create table Товары(

Id_товара int primary key, Артикул char(50),

Наименование наименования,

ФирмаПроизводитель фирмыпроизводители,

ЕдИзмерения char(5));


create table Сотрудники(

Id_паспорта int primary key,

Должность char(50),

Адрес char(50),

Телефон char(30),

ФИО_контактнЛица char(50));


create table Поставки(

№Накладной int primary key,

Датапоставки date default current_date,

Склад int references Местахранения(Id_склада),

Товар int references Товары(Id_товара),

Сотрудники int references Сотрудники(Id_паспорта),

Цена decimal(10,2),

Страна char(50),

Телефон char(50),

Количество int check(Количество>0));


create table Продажи(

№Накладной int primary key,

Дата date default current_date,

Склад int references Местахранения(Id_склада),

Товар int references Товары(Id_товара),

Сотрудники int references Сотрудники(Id_паспорта),

Цена decimal(10,2),

Количество int check(Количество>0));


create table Остатки(

Склад int references местахранения(id_склада),

Товар int references товары(id_товара),

Количество int check(Количество>=0),

primary key(Склад, Товар));


3.3 Заповнення таблиць:виконується через вікно інтерфейсу


3.4 Запити до бази данних:

Знайти макс ціни продажу по фірмам виробникам

select firma,max(zenaprodazhi) from tovari group by firma order by firma;

Вставка данних у таблицю

private void button4_Click(object sender, EventArgs e)

{

//Вставка данных с помощью запроса INSERT

NpgsqlCommand command = new NpgsqlCommand("INSERT INTO tovari (id_tovara, articul, name, firma, units, zenazakupki, zenaprodazhi) VALUES ('" + textBox9.Text + "','" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox23.Text + "','" + textBox30.Text + "');", conn);


command.ExecuteNonQuery();


}

Видалення данних з таблиці

private void button2_Click(object sender, EventArgs e)

{

//Удаление записи с помощью запроса DELETE

NpgsqlCommand command = new NpgsqlCommand("DELETE FROM "+textBox10.Text+" WHERE "+textBox12.Text+"="+textBox11.Text,conn);

command.ExecuteNonQuery();

}


Витяжка данних з таблиці

#region Mestahraneniya


command = new NpgsqlCommand("Select * from mestahraneniya", conn);


reader = command.ExecuteReader();


dt = new DataTable();

dt.Columns.Add("ID");

dt.Columns.Add("Наименование");

dt.Columns.Add("Расположение");

dt.Columns.Add("Мол");

while (reader.Read())

{

DataRow row = dt.NewRow();

row["ID"] = reader[0];

row["Наименование"] = reader[1];

row["Расположение"] = reader[2];

row["Мол"] = reader[3];

dt.Rows.Add(row);

}

dataGridView5.DataSource = dt;

#endregion

4.Вибор програмного забезбечення

Visual Studio 2008 Professional Edition


Професійний набір інструментів для індивідуальних програмістів і для роботи в невеликих колективах. В основному набір призначений для створення веб-сервера-додатків, клієнтських застосувань (smart clients), програм для мобільних пристроїв і Microsoft Office.


Postgres SQL 8.3

POSTGRESQL - це вільно поширювана об'єктно-реляційна система управління базами даних (ORDBMS), найбільш розвинена з відкритих СУБД в світі і що є реальною альтернативою комерційним базам даних. Об'єктно-реляційна СУБД, в даний час відома як POSTGRESQL веде своє походження від пакету POSTGRES, який був написаний в департаменті Берклі, Каліфорнійського Університету. Більш ніж двадцятирічна розробка POSTGRESQL зробила цей продукт однієї з найбільш просунутих СУБД з відкритим вихідним кодом.


5.Опис програмної реалізації


Для реалізації проекту по створенню інформаційної системи для мережі комп'ютерних магазинів під управлінням СУБД POSTGRESSQL була створена база даних, содеражащая в собі всі необхідні таблиці. Після чого на мові програмування C# були написані скрипти для виводу на екран, додавання і сортування інформації з таблиць. Приклад скрипта виводу на екран вмісту таблиці «Товари»:

private void button1_Click(object sender, EventArgs e)

{

string connstring = String.Format("Server={0};Port={1};" +

"User Id={2};Password={3};Database={4};",

"localhost", "5432", "postgres",

"1111", "Laba");

// Открытие соединения с базой данных

conn = new NpgsqlConnection(connstring);

conn.Open();

#region Tovari


//Создание комманды запроса

NpgsqlCommand command = new NpgsqlCommand("Select * from tovari",conn);

//Выполнение запроса

NpgsqlDataReader reader = command.ExecuteReader();

//Создание таблицы для хранения результата запроса

DataTable dt = new DataTable();

dt.Columns.Add("ID");

dt.Columns.Add("Артикул");

dt.Columns.Add("Наименование");

dt.Columns.Add("Фирмапроизводитель");

dt.Columns.Add("ЕдИзмерения");

dt.Columns.Add("Цена закупки");

dt.Columns.Add("Цена продажи");

//Чтение результата запроса и помещение данных в таблицу

while (reader.Read())

{

DataRow row = dt.NewRow();

row["ID"] = reader[0];

row["Артикул"] = reader[1];

row["Наименование"] = reader[2];

row["Фирмапроизводитель"] = reader[3];

row["ЕдИзмерения"] = reader[4];

row["Цена закупки"] = reader[5];

row["Цена продажи"] = reader[6];

dt.Rows.Add(row);

}

//Вывод данных на экран

dataGridView1.DataSource = dt;

#endregion


Також слід звернути увагу на спеціальні модулі, які треба підключити для коректної роботи з базою даних в інтерфейсі:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Windows.Forms;

using System.Data.Odbc;


namespace Laba

{

static class Program

{

///

/// Главная точка входа для приложения.

///


[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}

}


6. Тестовий приклад


Приклад №1

Завантажимо дані з таблиць бази даних в інтерфейс.

Для цього натиснемо кнопку «Загрузить данные в таблицу»:




Приклад №2


Додабиво у таблицю «Места хранения» новий запис. Для цього,після того як ми заповнемо відповідні данні у клітинках унизу натиснемо кнопку«Добавить»:




Тепер знову натиснемо «Загрузить данные в таблицу»,щоб поновити дані.Після цього у таблиці з'являється нова 8-ма строка:




Таким самим чином ми можемо видалити данні з будь-якої таблиці,для цього у правій нижній частині заповнюємо відповідні форми та натискаємо кнопку

«Удалить»:





Тепер знову натиснемо «Загрузить данные в таблицу»,щоб поновити дані.Після цього у таблиці зникає 8-ма строка і їх залишається 7-м:







7. Інструкція користувачу


Після запуску програми ми можемо завантажити дані з таблиць бази даних у інтерфейс,натиснувши кнопку «Загрузить данные в таблицу»,після чого нажимаючи на будь-яку вкладку в інтерфейсі ми бачимо,що всі дані успішно завантажено.

Тепер ми можемо внести нові дані у будь-яку таблицю.Для цього у лівому нижньому віконцю вводимо відповідні дані(вибравши перед цим необхідну нам вкладку,тобто таблицю в яку будемо вносити дані), і натискаємо кнопку

«Добавить». Тепер знову натиснемо «Загрузить данные в таблицу»,щоб поновити дані.Після цього у таблиці з'являється нова строка, яку ми щойно ввели.

Таким самим чином ми можемо удалити дані з таблиць, для цього у правому нижньому віконці вносимо відповідні дані(У поле ИМЯ ТАБЛИЦЫ вносимо її ім'я, у поле ИМЯ ID_ПОЛЯ вносимо його id ім'я, а у поле НОМЕР ID вносимо його id номер;всі назви вносимо так, як вони представлені в інформаційній моделі на перших сторінках курсової роботи), після чого натискаємо «Удалить». Тепер знову натиснемо «Загрузить данные в таблицу»,щоб поновити дані.Після цього у таблиці зникає строка, яку ми вносили нещодавно в дану таблицю.


Заключення




Ми створили інформаційну систему, яка автоматизує роботу мережі комп'ютерних магазинів. Система розроблена для полегшення роботи співробітників, для підвищення якості обслуговування клієнтів. Дана інформаційна система прискорює і полегшує користувачеві доступ до інформації про товари, дає можливість в стислі терміни надати допомогу своїм клієнтам в пошуку інформації і цін по товарах. База даних містить інформацію про найменування товарів, їх характеристики, ціни, фірми виробників, про фірми постачальники і т.д.




Список використованої літератури


1. С.Д.Кузнецов «ссылка скрыта», Москва 2007г.

2. Джеффри Ульман «Системы баз данных. Полный курс», Киев 2003г. , «Прессизд»

3. В.В.Кириллов, Г.Ю.Громов «ссылка скрыта 4. Абрамян М.Э. «Visual С# на примерах », Москва 2008г.


План


Введення

1.Постановка задачі

2.Проектування бази данних

3. Створення бази данних

3.1 Створення доменів

3.2 Створення таблиць

3.3 Заповнення таблиць:виконується через вікно інтерфейсу

3.4 Запити до бази данних

4.Вибор програмного забезбечення

5.Опис програмної реалізації

6. Тестовий приклад

7. Інструкція користувачу

Заключення

Список використованої літератури