Администрирование, базы данных

Автор: Пользователь скрыл имя, 20 Февраля 2013 в 20:16, курсовая работа

Описание работы

Завданням курсової роботи є розробка бази даних компанії з виробництва програмного забезпечення. Актуальність обраної теми зумовлена розвитком бізнесу та технологій, що супроводжується збільшенням об’єму інформації.
Облік заказів та процес управління компанії зберігається у великій кількості файлів, що спричиняє ефект надлишковості – ситуації, коли одні й ті самі дані зберігаються в різних файлах

Работа содержит 1 файл

Костенко Дмитрий студент ЕК-91 курсовая БД.doc

— 1.17 Мб (Скачать)

            SqlDataReader SqlDatareadZapros;

            dataGridView1.Refresh();

            if (textBox1.Text == "")

            {

                MessageBox.Show("Введите запрос!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

Продовження лістингу 3.6

                return;

            }

            else

            {

                SqlCommand SqlCommand = new SqlCommand(textBox1.Text, connect2);

                SqlDatareadZapros = SqlCommand.ExecuteReader();

                ArrayList Arraylist = new ArrayList(0);

                foreach (DbDataRecord Record in SqlDatareadZapros)

                {

                    Arraylist.Add(Record);

                }

                SqlDatareadZapros.Close();

                dataGridView1.DataSource = Arraylist;

            }

            /*catch

            {

                MessageBox.Show("Некорректный запрос!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);

                return;

            }*/

        }

        private void вернутьсяToolStripMenuItem_Click(object sender, EventArgs e)

        {

            this.Close();

        }

 

        private void завершитьToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Application.Exit();

        }

Продовження лістингу 3.6

        private void textBox1_TextChanged(object sender, EventArgs e)

        {

 

        }

 

        private void выполнитьЗапросToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Execute();

        }

 

        private void очиститьToolStripMenuItem_Click(object sender, EventArgs e)

        {

            textBox1.Text = "";

            ArrayList ArrayList = new ArrayList(0);

            dataGridView1.DataSource = ArrayList;

        }

      

    }

}

 

У даному коді ми реалізовуємо появу дочірньої форми по відношенню до головної, а саме вказуємо головну форму параметром до відкриття.

Ми передбачаємо, що параметром відкриття  форми Form12 буде та форма, в якій реалізоване це відкриття шляхом натиснення кнопки.

Ці рядки передбачають тип розміщення дочірніх форм у контейнері.

Реалізація технологій доступу  до баз даних дуже легко вдається з використанням спеціального контейнеру DataGridView. Розмістимо екземпляр такого елементу на формі Form12. Через властивості таблиці задамо їй неможливість додавання, зміни та видалення даних.

Рисунок 3.2 – використанням спеціального контейнеру DataGridView

 

Створили нову форму Form12 з елементами DataGridView та TextBox. Елементи TextBox використаємо для написання запиту кодованого рядка з, а DataGridView буде призначений для введення запиту.

Усі інші форми заповнимо за технологією. Властивості усіх створених DataGridView візуалізація таблиць. Під додатковими елементами розуміють об’єкти, що відносяться до акселерації виконання задач, методи моніторингу, стильові оформлення і т.д.

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

 

Рисунок 3.3 – Представлення форми  візуалізації таблиці

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

Для TableAdapter передбачений метод Update, що дозволяє зберігати усі внесені зміни. Саме його ми і використаємо для маніпулювання даними у простій реляційній структурі.

Аналогічним чином поновлюються усі  довідникові форми.

Поновлення простих структур з  однієї таблиці, як бачимо, не так і  важко. Але на практиці такі дані є лиш допоміжними, а оперативні дані зберігаються у двох, трьох і більше таблицях.

Для вирішення подібних завданьVisual Studio запропонувала доступ до функцій, що передають скалярні параметри  на вказаний маршрут. Такі методи знаходяться  у таких просторах імен, як System.Data.SqlClient, System.Data.Odbc і т.д.

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

 

ВИСНОВКИ

 

 

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

  • зміст реляційної теорії;
  • визначення, призначення та основні переваги використання баз даних для написання інформаційних систем;
  • створення базових таблиць та встановлення зв’язків між ними;
  • досягнення декларативної цілісності даних шляхом використання правил, індексів та стандартних значень;
  • процедурна цілісність даних у світлі використання збережених процедур та запитів;
  • побудова інтерфейсу завдяки мові C#.

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

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

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

Створена база даних компанії з виробництва ПЗ розрахована на невелику кількість користувачів.

Отже, створена база даних  відповідає висунутим до неї вимогам  на початку моделювання, але в  випадку масштабування вимагає  зазначених доопрацювань.

 

ПЕРЕЛІК ПОСИЛАНЬ

 

 

 

  1. Бурцева, Е. В., Терехов, А. В. Информационные системы [Текст] : учебное пособие / Е. В. Бурцева. – Тамбов: Изд-во Тамб. гос. техн. ун-та, 2009. – 128с. – ISBN 978-5-8265-0874-9.
  2. Жесткие и гибкие информационные системы [Електронний ресурс] : Одмин . – Режим доступу : http://chaoswarehouse.org/index.php/2008-05-17-18-37-59/48-2009-11-28-23-04-03/61-2009-04-23-18-49-56– 20.06.2010. – Назва з екрана.
  3. Информационные системы: гибкость и простота [Електронний ресурс] : Рубцов С.А., Рубцова Э.Е., Программные продукты и системы. Международній журнал.,№ 3 за 1994 год. [ 25.09.1994] – Режим доступу : http://zakon.nau.ua/doc/?uid=1039.6052.0 – 20.06.2010 . – Назва з екрана.
  4. Отказоустойчивость как мера эффективности [Електронний ресурс] : Николай Печерица, "Экспресс электроника", #05/2005. – Режим доступу : http://www.citforum.ru/hardware/arch/measure/ – 20.06.2010. – Назва з екрана.
  5. Карпенко, С. Г., Попов, В. В. Інформаційні системи та технології [Текст] : учебное пособие / С. Г. Карпенко. – К.: МАУП, 2004. – 192с. – ISBN 966-608-340-X.
  6. Eric Butow, Tommy Ryan. C#. Your visual blueprint for building .NET applications [Текст] . – NY.: Hungry Minds Inc., 2002. – 305 pages. – ISBN 0-7645-3601-X.
  7. Лабор, В.В. Си Шарп: Создание приложений для Windows [Текст] : / В. В. Лабор.— Мн.: Харвест, 2003. – 384с. – ISBN 985-13-1405-6.
  8. Троелсен, Эндрю. Язык программирования C# 2005 и платформа .NET 2.0 [Текст] : 3 изд., пер. с англ. / Эндрю Троелсен. – М.: ООО «И.Д. Вильямс», 2007. – 1168с. – ISBN 5-8459-1124-9.

 

ДОДАТКИ

 

ДОДАТОК А

 

Лістинг А.1- Створення базових таблиць та зв’язків

 

CREATE TABLE Komitet

 

(

ID_komitet      int identity not null primary key,

Glova           varchar(25)  null,

)

 

CREATE TABLE Otdelu

 

(

ID_otd             int identity not null primary key,

Nazvanie           varchar(25)  null,

Bid_deyatelbnosti  varcar(30)   null

)

 

CREATE TABLE Zar_plata

 

(

ID_zarplat      int identity not null primary key,

sotrydnik       varchar(25)  null,

Symma           int          not null

)

 

CREATE TABLE Zentr_obrabotki

 

(

ID_obr          int identity not null primary key,

Proekt_nomer    int not null

)

 

Продовження лістингу А.1

CREATE TABLE Dolgnosti

 

(

ID_dolg                 int identity not null primary key,

Li4nuy_ID_sotrydnika    int not null

)

 

CREATE TABLE Sotrydniki

 

(

ID_sotr         int identity not null primary key,

Familiya        varchar(20)  not null,

Imya            varchar(20)  not null,

Otchestvo       varchar(20)  null

)

 

CREATE TABLE Proektu

 

(

ID_pr           int identity not null primary key,

Srok            datetime     not null,

Stadiya         varchar(35)  not null,

Nomer_zakaza    int          not null

)

 

CREATE TABLE Prodykziya

 

(

ID_prodykt       int identity not null primary key,

Imya_proekta     varchar(30)  not null

)

 

Продовження лістингу А.1

CREATE TABLE Magazin

 

(

ID_magazin       int identity not null primary key,

Prodykziya       varchar(30)  not null

)

 

CREATE TABLE Klient

 

(

ID_kl        int identity not null primary key,

Zakaz        int  not null

)

 

Лістинг А.2 – Додавання зовнішнього ключу

ALTER TABLE Otdelu

ADD

ID_kom1 int not null

 

ALTER TABLE Dolgnosti

ADD

ID_otdel2 int not null,

ID_kom2   int not null

 

ALTER TABLE Zar_plata

ADD

ID_dolgnosti  int not null,

ID_otdel4      int not null,

ID_kom4        int not null

 

ALTER TABLE Sotrydniki

ADD

ID_otdel3     int not null,

ID_kom3        int not null

Продовження лістингу А.2

ALTER TABLE Proektu

ADD

ID_otdel1      int not null,

ID_kom         int not null,

ID_obrabotka1  int not null

 

ALTER TABLE Prodykziya

ADD

ID_obrabotka   int not null,

ID_mag1        int not null

 

ALTER TABLE Klient

ADD

ID_mag         int not null

 

Лістинг А.3 –Розробка зв’язків

ALTER TABLE Otdelu

ADD CONSTRAINT klu4i1 FOREIGN KEY (ID_kom1)

REFERENCES Komitet(ID_komitet)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Dolgnosti

ADD CONSTRAINT klu4i2 FOREIGN KEY (ID_otdel2)

REFERENCES Otdelu(ID_otd)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Dolgnosti

ADD CONSTRAINT klu4i15 FOREIGN KEY (ID_kom2)

REFERENCES Komitet(ID_kommitet)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

Продовження лістингу А.3

ALTER TABLE Zar_plata

ADD CONSTRAINT klu4i14 FOREIGN KEY (ID_otdel4)

REFERENCES Otdelu(ID_otd)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Zar_plata

ADD CONSTRAINT klu4i3 FOREIGN KEY (ID_dolgnosti)

REFERENCES Dolgnosti(ID_dolg)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Zar_plata

ADD CONSTRAINT klu4i16 FOREIGN KEY (ID_kom4)

REFERENCES Komitet(ID_komitet)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Sotrydniki

ADD CONSTRAINT klu4i4 FOREIGN KEY (ID_otdel3)

REFERENCES Otdelu(ID_otd)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Sotrydniki

ADD CONSTRAINT klu4i11 FOREIGN KEY (ID_kom3)

REFERENCES Komitet(ID_komitet)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Proektu

ADD CONSTRAINT klu4i5 FOREIGN KEY (ID_otdel1)

REFERENCES Otdelu(ID_otd)

ON DELETE NO ACTION

Продовження лістингу А.3

ON UPDATE NO ACTION

 

ALTER TABLE Proektu

ADD CONSTRAINT klu4i6 FOREIGN KEY (ID_obrabotka1)

REFERENCES Zentr_obrabotki(ID_obr)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Proektu

ADD CONSTRAINT klu4i10 FOREIGN KEY (ID_kom)

REFERENCES Komitet(ID_komitet)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Prodykziya

ADD CONSTRAINT klu4i7 FOREIGN KEY (ID_obrabotka)

REFERENCES Zentr_obrabotki(ID_obr)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Prodykziya

ADD CONSTRAINT klu4i8 FOREIGN KEY (ID_mag1)

REFERENCES Magazin(ID_magazin)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ALTER TABLE Klient

ADD CONSTRAINT klu4i9 FOREIGN KEY (ID_mag)

REFERENCES Magazin(ID_magazin)

ON DELETE NO ACTION

ON UPDATE NO ACTION

 

ДОДАТОК Б

 

Лістинг Б.1 - Збереженні процедури та запити об’єднання таблиць

CREATE PROCEDURE sotrydnik

@Familiya varchar(25)

AS

declare @nom_otd varchar(20)

SELECT @nom_otd = Nazvanie

FROM Sotrydniki S,Otdelu O

WHERE O.ID_otd=S.ID_otdel3

IF @Familiya='Пупс'

print 'Сотрудник Производ.контроля'

else

print 'сотрудник не Производ.контроля'

 

 

EXEC sotrydnik

'Костенко'

 

DROP PROCEDURE sotrydnik

 

 

CREATE PROCEDURE proekt

@nomproecta int

AS

declare @Name varchar(20)

declare @Number int

SELECT @Name = Imya_proekta,@Number = Proekt_nomer

FROM Prodykziya Pr,Zentr_obrabotki Zob

WHERE Zob.ID_obr=Pr.ID_obrabotka

IF @nomproecta!=@Number

print ‘Данного номера нет в базе’

else

select @Name as Im9,@Number as Homer

 

Продовження лістингу Б.1

EXEC proekt

'244879'

EXEC proekt

'24466'

 

DROP PROCEDURE proekt

 

CREATE PROCEDURE novzakaz

@Zakaz int,

@ID_mag int,

@ID_kl int output

AS

INSERT INTO Klient(Zakaz,ID_mag) VALUES(@Zakaz,@ID_mag)

select @ID_kl=@@identity

 

declare @NumberZakaza int

EXEC novzakaz

@Zakaz='1235',

@ID_mag='3',

@ID_kl = @NumberZakaza output

select @NumberZakaza as HOBUyZAKAZ

select Zakaz

from Klient

where ID_kl=@NumberZakaza

 

CREATE PROCEDURE novproekt

@Srok datetime = null,

@Stadiya varchar(35),

@Nomer_zakaza int,

@ID_otdel1 int,

@ID_kom int,

@ID_obrabotka1 int,

@ID_pr int output

AS

Продовження лістингу Б.1

INSERT INTO Proektu(Srok,Stadiya,Nomer_zakaza,ID_otdel1,ID_kom,ID_obrabotka1)

VALUES(@Srok,@Stadiya,@Nomer_zakaza,@ID_otdel1,@ID_kom,@ID_obrabotka1)

select @ID_pr=@@identity

 

declare @NumberProekta int

EXEC novproekt

@Srok = '12/05/2011',

@Stadiya = 'íà÷àëüíàÿ',

@Nomer_zakaza = '216354',

@ID_otdel1 = '2',

@ID_kom = '1',

@ID_obrabotka1 ='3',

@ID_pr = @NumberProekta output

select @NumberProekta as HOBUyPROEKT

select Srok,Stadiya,Nomer_zakaza

from Proektu

where ID_pr=@NumberProekta

 

Лістинг Б.2 - Запити

select distinct Nazvanie,Nomer_zakaza,Li4nuy_ID_sotrydnika,Familiya,Imya

from Sotrydniki,Dolgnosti,Otdelu,Proektu

   where ID_otd=ID_otdel1

          and ID_otd=ID_otdel3

          and ID_otd=ID_otdel2

          and Li4nuy_ID_sotrydnika BETWEEN 100 AND 104

   group by Nazvanie,Nomer_zakaza,Li4nuy_ID_sotrydnika,Familiya,Imya

   order by Familiya;

 

 

Продовження лістингу Б.2

select distinct Glova,Nomer_zakaza,Nazvanie,Familiya,Imya,Otchestvo,Srok

  From Komitet,Proektu,Otdelu,Sotrydniki

   where ID_komitet=ID_kom

         and ID_otd=ID_otdel1

         and ID_otd=ID_otdel3

         and Srok>'10.03.2011'

   order by Srok desc

 

select Nazvanie,Familiya,Imya,Symma,Bid_deyatelbnosti

  From Sotrydniki,Zar_plata,Otdelu

   where ID_otd=ID_otdel3

         and ID_otdel3=ID_otdel4

   order by Familiya

 

select distinct Imya_proekta,Proekt_nomer,Srok,Stadiya

  From Prodykziya,Zentr_obrabotki,Proektu

   where ID_obr=ID_obrabotka

Информация о работе Администрирование, базы данных