Смекни!
smekni.com

Розробка програмного забезпечення для ведення електронного обліку успішності школярів (стр. 5 из 7)

- простота у встановленні та використанні;

- підтримується необмежена кількість користувачів, що одночасно працюють із БД;

- кількість рядків у таблицях може досягати 50 млн.;

- висока швидкість виконання команд;

- наявність простої і ефективної системи безпеки.

MySQL виникла як спроба застосувати mSQL до власних розробок компанії: таблицям, для яких використовувалися ISAM — підпрограми низького рівня. У результаті був вироблений новий SQL-інтерфейс, але API-інтерфейс залишився в спадок від mSQL. Звідки походить назва «MySQL» — достеменно не відомо. Розробники дають два варіанти: або тому, що практично всі напрацювання компанії починалися з префікса My, або на честь дівчинки на ім'я My, дочки Майкла Монті Віденіуса, одного з розробників системи . Логотип MySQL у вигляді дельфіна носить ім'я «Sakila». Він був обраний з великого списку запропонованих користувачами «імен дельфіна». Ім'я «Sakila» було відправлено Open Source-розробником Ambrose Twebaze.

В січні-лютому 2008 Sun Microsystems придбала виробника системи керування базами даних MySQL за $1 млрд. Після поглинання у 2009 році Sun Microsystems з боку Oracle Corporation MySQL стала власністю Oracle.

Основні переваги пакету MySQL:

1) багато поточність;

2) підтримка декількох одночасних запитів;

3) оптимізація зв'язків з приєднанням багатьох даних за один прохід;

4) записи фіксованої і змінної довжини;

5) ODBC драйвер в комплекті;

6) гнучка система привілеїв і паролів;

7) до 16 ключів в таблиці, кожен ключ може мати до 15 полів;

8) основана на потоках, швидка система пам'яті;

9) всі операції роботи з рядками не звертають уваги на регістр символів в оброблюваних рядках;

10) псевдоніми застосовні як до таблиць, так і до окремих стовпців в таблиці;

11) всі поля мають значення за замовчуванням;

12) легкість управління таблицею, включаючи додавання і видалення ключів і полів.

Реляційна система керування базами даних Microsoft SQL Server.

Microsoft SQL Server — реляційна система керування базами даних (СКБД), розроблена корпорацією Microsoft. Основна використовувана мова запитів — Transact-SQL, створений спільно Microsoft й Sybase. Transact-SQL являється реалізацією стандарту ANSI/ISO по структурованій мові запитів (SQL) с розширеннями. Використається для невеликих і середніх по розміру баз даних, і в останні 5 років - для великих баз даних масштабів підприємства, конкурує з іншими СКБД у цьому сегменті ринку.

Вихідний код MS SQL Server (до версії 7.0) ґрунтувався на коді Sybase SQL Server, і це дозволило Microsoft вийти на ринок баз даних для підприємств, де конкурували Oracle, IBM, і, пізніше, сама Sybase. Microsoft, Sybase й Ashton-Tate спочатку об'єдналися для створення й випуску на ринок першої версії програми, що одержала назва SQL Server 1.0 для OS/2, яка фактично була еквівалентом Sybase SQL Server 3.0 для Unix, VMS і ін. Microsoft SQL Server 4.2 був випущений в 1992 році і входив до складу операційної системи Microsoft OS/2 версії 1.3. Офіційний реліз Microsoft SQL Server версії 4.21 для ОС Windows NT відбувся одночасно з релізом самої Windows NT (версії 3.1). Microsoft SQL Server 6.0 був першою версією SQL Server, створеної винятково для архітектури NT і без участі в процесі розробки Sybase.

Поточна версія — Microsoft SQL Server 2005 — була представлена в листопаді 2005 року. Запуск версії відбувався паралельно запуску Visual Studio 2005. Існує також «врізана» версія Microsoft SQL Server - Microsoft SQL Server Express; вона доступна й вільно поширюється з її програмним забезпеченням.

З моменту випуску попередньої версії SQL Server (SQL Server 2000) був здійснений розвиток інтегрованого середовища розробки й ряду додаткових підсистем, що входять до складу SQL Server 2005. Зміни торкнулися реалізації технології ETL, що входить до складу компонента SQL Server Integration Services (SSIS), сервера оповіщення, засобів аналітичної обробки багатомірних моделей даних (OLAP) і збору релевантної інформації (обидві служби входять до складу Microsoft Analysis Services), а також декількох служб повідомлень, а саме Service Broker й Notification Services. Крім цього, зроблені поліпшення в продуктивності.

Функціональність

Microsoft SQL Server як мова запитів використовує версію SQL, яка отримала назву Transact-SQL (скорочено T-SQL), що є реалізацією SQL-92 (стандарт ISO для SQL) із множинними розширеннями. T-SQL дозволяє використати додатковий синтаксис для процедур збереження і забезпечує підтримку транзакцій (взаємодія бази даних з керуючим додатком). Microsoft SQL Server й Sybase ASE для взаємодії з мережею використовують протокол рівня додатка за назвою Tabular Data Stream (TDS, протокол передачі табличних даних). Протокол TDS також був реалізований у проекті FreeTDS з метою забезпечити різним додаткам можливість взаємодії з базами даних Microsoft SQL Server й Sybase.

SQL Server підтримує надлишкове дублювання даних по трьох сценаріях:

- знімок – виробляється «знімок» бази даних, що сервер відправляє одержувачам;

- історія змін – всі зміни бази даних безупинно передаються користувачам.

- синхронізація з іншими серверами – бази даних декількох серверів синхронізуються між собою.

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

В SQL Server 2005 вбудована підтримка .NET Framework. Завдяки цьому, збережені процедури БД можуть бути написані на будь-якій мові платформи .NET, використовуючи повний набір бібліотек, доступних для .NET Framework, включаючи Common Type System (система обігу з типами даних в Microsoft .NET Framework). Однак, на відміну від інших процесів, .NET Framework, будучи базисною системою для SQL Server 2005, виділяє додаткову пам'ять і вибудовує засоби керування SQL Server замість того, щоб використовувати вбудовані засоби Windows. Це підвищує продуктивність у порівнянні із загальними алгоритмами Windows, тому що алгоритми розподілу ресурсів спеціально налаштовані для використання в структурах SQL Server.

2.3 Вибір засобів розробки інформаційної системи

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

Переваги C# над Delphi:

простіше працювати з динамічною пам'яттю;

більше розвинене ООП в порівнянні з процедурним;

сама платформа .NET більше орієнтована на C# ніж на Delphi.

Оскільки вибрано C#.NET немає особливої різниці у виборі ситеми керування базами даних тому вибрано MS Access через зручний інтуєтивно зрозумілий інтерфейс для створення та редагування бази даних на початку проектування проекту.

3. Програмна реалізація

3.1 Структура і функціональне призначення модулів системи, їх взаємозв’язок

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

Перелі модулів:

1) uchni.cs – модуль, який відповідає за роботу форми відображення усіх учнів школи;

2) uchеn.cs – модуль, який призначений для роботи форми відображення успішності певного учня;

3) edit.cs – модуль який відповідає за редагування даних;

4) zhu.cs – модуль в якому описані деякі функції для роботи з даними.

Модуль edit.cs являє собою основний функціональний модуль, який включає процедури та функції, які відповідають за:

- редагування даних успішності (додання, видалення);

- редагування предметів (додання, видалення);

- редагування оцінок успішності;

- зміна окремих даних;

- відбір за заданими параметрами;

Модуль edit.cs являє собою основний функціональний модуль, який включає процедури та функції, які відповідають за:

- редагування даних успішності (додання, видалення);

- редагування предметів (додання, видалення);

- редагування оцінок успішності;

- зміна окремих даних;

- відбір за заданими параметрами;

Допоміжний функціональний модуль zhu.cs являє включає процедури та функції, які відповідають за:

- заповнення даними головних таблиць;

- заповнення даними випадаючих списків;

- коректне відображення даних.

Модуль uchni.cs створений для відображення всіх учнів школи з можливістю відбору учнів які навчаються в певному вказаному класі, також для фомування вхідних даних модуля uchеn.cs який в свою чергу керує формою, яка відображає оцінки певного учня.

Рисунок 3.1 – Модулі програмного продукту

3.2 Розробка програмних модулів

При розробці структури даний програмний продукт був поділений на модулі Для того, щоб програма відповідала поставленим вимогам, були розроблені окремі блоки для реалізації завдань.


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

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new uchni());

}

Підключення бази даних яке знаходиться у кожному модулі:

OleDbConnection connection = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dbase.mdb");

Подія завантаження форми при якій відбувається завантаження даних з бази у DataGridViev при запуску програми:

private void Form2_Load(object sender, EventArgs e)

{

// Uchni();

zaput1 = "SELECT uchni.fkuchni, uchni.fkklasu, klasu.klas AS [Клас], uchni.prizv AS [Прізвище], uchni.imya AS [Ім'я], uchni.pobat AS [Побатькові] FROM (uchni INNER JOIN klasu ON uchni.fkklasu = klasu.fkklasu) WHERE (klasu.klas = " + strkl + ") ORDER BY uchni.prizv";

ss.MainSel(dataGridView1, zaput1);

ss.VisiF(dataGridView1, 1);

ss.combSel(combklasu, "SELECT klas, fkklasu, rikpost FROM klasu ORDER BY rikpost;",false);

}


Блок відбору однокласників за заданим класом:

if (combklasu.SelectedItem.ToString() == "*") strkl = "klasu.klas";

else

strkl = "'" + combklasu.SelectedItem.ToString() + "'";

zaput1 = "SELECT uchni.fkuchni, uchni.fkklasu, klasu.klas AS [Клас], uchni.prizv AS [Прізвище], uchni.imya AS [Ім'я], uchni.pobat AS [Побатькові] FROM (uchni INNER JOIN klasu ON uchni.fkklasu = klasu.fkklasu) WHERE (klasu.klas = " + strkl + ") ORDER BY uchni.prizv";