Анализ проектирования баз данных, а также освещению методов построения форм и отчетов на примере построения программы ведения электронной документации учебного заведения
МИНИСТЕРСВО СЕЛЬСКОГО ХОЗЯЙСТВА
КАЗАХСКИЙ АГРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
имени С. СЕЙФУЛЛИНА
КАФЕДРА ___________________________________ ______
(наименование кафедры)
Курсовой проект (работа)
ПО ДИСЦИПЛИНЕ_________________________ ____________
(наименование дисциплины)
НА ТЕМУ ___________________________________ ___________
Строчными буквами, жирным шрифтом
Выполнил (а): студент (ка) _ курса
_____________________
(Ф.И.О)
Проверил (а): ____ ________________
(ученая степень, Ф.И.О преподавателя)
Курсовой проект (работа) допущен к защите ________________________________
(подпись преподавателя)
Нур-Султан 2019
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ 3
ГЛАВА 1. СИСТЕМНЫЙ АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1 Обзор предметной области 5
1.2 Обзор информационных технологий 5
1.2.1 Выбор языка программирования 5
1.2.2 Выбор СУБД 8
ГЛАВА 2. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ 10
2.1 Инфологические проектирование 10
2.1.1 Логическое проектирование 12
2.1.2 Физическое проектирование 15
ГЛАВА 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 17
3.1 Разработка приложения 17
3.2 Входные и выходные данные 18
ЗАКЛЮЧЕНИЕ 20
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 21
Приложение 1Выбор СУБД 22
Приложение 2Скрипты создания базы данных 25
Приложение 3Экранные формы приложения 38
Приложение 4Графы экранных форм приложения 44
Приложение 5Код экранных форм приложения 47
Приложение 6Пример выходных документов 53
ВВЕДЕНИЕ
Курсовая работа посвящена анализу проектирования баз данных, а также освещению методов построения форм и отчетов на примере построения программы ведения электронной документации учебного заведения.
Одной из составных задач можно рассматривать проблему составления статистических данных по данным об обучаемых студентах на факультетах, курсах и отделениях по различным специальностям.
О своевременности и актуальности рассматриваемой проблемы говорит тот факт, что большую часть своего времени администраторы заведений и преподаватели тратят на оформление различной документации и отчетов. Базы данных (БД) составляют в настоящее время основу компьютерного обеспечения информационных процессов, входящих практически во все сферы человеческой деятельности.
В настоящее время среди разработчиков базы данных (БД) большой популярностью пользуется реляционная СУБД MSSQLServer. Эффективные средства создания таблиц, форм, запросов, средства организации работы с базами данных и защита информации - вот далеко не полный перечень достоинств этого приложения.
Основные функции СУБД - это описание структуры базы данных, обработка данных и управление данными.
База данных - это совокупность сведений о реальных объектах, процессах, событиях или явлениях, относящихся к определённой теме или задаче, организованная таким образом, чтобы обеспечить удобное представление этой совокупности, как в целом, так и любой её части. Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определённого типа. Каждая строка таблицы содержит данные об одном объекте (например, клиенте, автомобиле, документе), а столбцы таблицы содержат различные характеристики этих объектов - атрибуты (например, наименования и адреса клиентов, марки и цены автомобилей). Строки таблицы называются записями, все записи имеют одинаковую структуру - они состоят из полей, в которых хранятся атрибуты объекта. Каждое поле в записи содержит одну характеристику объекта и имеет строго определённый тип данных (например, текстовая строка, число, дата). Все записи имеют одни и те же поля, только в них содержатся разные значения атрибутов.
Любая СУБД позволяет выполнять четыре простейшие операции с данными:
oo добавить в таблицу одну или несколько записей;
oo удалить из таблицы одну или несколько записей;
oo обновить значения некоторых полей в одной или нескольких записях;
oo найти одну или несколько записей, удовлетворяющих заданному условию.
Для выполнения этих операций используется механизм запросов. Результатом выполнения запросов является либо отобранное по определённым критериям множество записей, либо изменение в таблицах.
ГЛАВА 1. СИСТЕМНЫЙ АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Обзор предметной области
Предметная область - это часть реального мира, данные о которой мы хотим отразить в базе данных. В качестве предметной области в данной курсовой работе используется специальности ВУЗа. Предметная область бесконечна и содержит как существенно важные понятия и данные, так и малозначащие или вообще не значащие данные. Так, в предметной области понятия Специальность, Факультет, Отделение, Обучаемые являются существенно важными, а понятие ФИО студента- менее важной. Однако, с точки зрения деканата эти данные являются существенно важными. Таким образом, важность данных зависит от выбора предметной области.
В предметной области выделен ряд следующих основных понятий (сущностей), касающихся данной предметной области, а так же ряд основных характеристик этих понятий:
oo Специальности(Название);
oo Факультет (Название);
oo Отделение (Название);
oo Обучаемые(Факультет, Специальность, Отделение, год отчетности, курс, количество студентов)
Для исследования данной предметной области и построения инфологической модели, в общем, был использован материал о специфике работы подобных учреждений, а так же, материал о структуре и особенностях работы ВУЗов.
1.2 Обзор информационных технологий
1.2.1 Выбор языка программирования
При решении поставленной задачи оптимально использовать для представления информационных материалов язык С#, который является языком высокого уровня и позволяет быстро и эффективно создавать приложения.
Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов - языков программирования. Смысл появления такого языка - оснащённый набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм. Язык программирования служит двум связанным между собой целям: он даёт программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать.
C# (говоря на русском, си Шарп) - это объектно-ориентированное программирование. Он был разработан в 2001 году, инженерами под руководством Андерса Хейлсберга в компании Microsoft. На данное время существует 4 версии языка си Шарп.
Название Си Шарп (от англ. sharp - диез) происходит от музыкальной нотации, где знак диез, прибавляемый к основному обозначению ноты, означает повышение соответствующего этой ноте звука на полутон. Это аналогично названию языка С++, где ++ обозначает, что переменная должна быть увеличена на 1.
К числу принципиально важных решений, которые реализованы корпорацией Microsoft в языке программирования C#, можно отнести следующие: - компонентно-ориентированный подход к программированию (который характерен и для идеологии Microsoft .NET в целом); - свойства как средство инкапсуляции данных (характерно также в целом для ООП); - обработка событий (имеются расширения, в том числе в части обработки исключений, в частности, оператор try); - унифицированная система типизации (соответствует идеологии Microsoft .NET в целом); - делегаты (delegate - развитие указателя на функцию в языках C и C++); - индексаторы (indexer - операторы индекса для обращения к элементам класса- контейнера); - перегруженные операторы (развитие ООП); - оператор foreach (обработка всех элементов классов-коллекций, аналог VisualBasic); - механизмы boxing и unboxing для преобразования типов; - атрибуты (средство оперирования метаданными в COM-модели); - прямоугольные массивы (набор элементов с доступом по номеру индекса и одинаковым количеством столбцов и строк).
Достоинства си-шарпа по книге Биллига:
oo C# создавался параллельно с каркасом Framework .Net и в полной мере учитывает все его возможности - как FCL, так и CLR;
oo C# является полностью объектно-ориентированным языком, где даже типы, встроенные в язык, представлены классами;
oo C# является мощным объектным языком с возможностями наследования и универсализации;
oo C# является наследником языков CC++, сохраняя лучшие черты этих популярных языков программирования. Общий с этими языками синтаксис, знакомые операторы языка облегчают переход программистов от С++ к C#;
oo Сохранив основные черты своего великого родителя, язык стал проще и надежнее. Простота и надежность, главным образом, связаны с тем, что на C# хотя и допускаются, но не поощряются такие опасные свойства С++ как указатели, адресация, разыменование, адресная арифметика;
oo Благодаря каркасу Framework .Net, ставшему надстройкой над операционной системой, программисты C# получают те же преимущества работы с виртуальной машиной, что и программисты Java. Эффективность кода даже повышается, поскольку исполнительная среда CLR представляет собой компилятор промежуточного языка, в то время как виртуальная Java-машина является интерпретатором байт-кода;
oo Мощная библиотека каркаса поддерживает удобство построения различных типов приложений на C#, позволяя легко строить Web-службы, другие виды компонентов, достаточно просто сохранять и получать информацию из базы данных и других хранилищ данных;
oo Реализация, сочетающая построение надежного и эффективного кода, является немаловажным фактором, способствующим успеху C#.
Выделение и объединение лучших идей современных языков программирования делает язык C# не просто суммой их достоинств, а языком программирования нового поколения.
Для решения поставленной задачи необходимо использовать функциональную, эффективную и удобную платформу для разработки, позволяющую применять принципы объектно-ориентированного программирования. В качестве такой платформы была выбрана среда .NET.
Среда разработки VisualStudio, поставляемая вместе с .NET, предоставляет необходимый инструментарий для эффективного и быстрого создания приложений с графическим интерфейсом.
Появление технологии .NET повлекло за собой массовую реконструкцию некоторых языков программирования, стремящихся использовать те или иные возможности платформы, такие как C++ и VisualBasic. Microsoft решили предложить разработчикам альтернативу - язык, ориентированный специально .NET и создали C#. Сами разработчики языка описывают его, как простой, современный, объектно-ориентированный и безопасный язык программирования.
Несмотря на то, что C# и .NET предназначены в первую очередь для веб-разработки, их также активно применяют для создания приложений, которые должны устанавливаться на машине конечного пользователя, где и будет выполняться вся обработка данных. Разработку таких приложений обеспечивает библиотека Windows Forms, позволяющая проектировать графический интерфейс. Система, описанная в данной работе, разработана именно с помощью библиотеки Windows Forms.
Язык программирования C# претендует на подлинную объектную ориентированность, призван реализовать компонентно-ориентированный подход к программированию, который способствует меньшей машинно-архитектурной зависимости результирующего программного кода, большей гибкости, переносимости и легкости повторного использования программ.
Принципиально важным отличием от предшественников является изначальная ориентация на безопасность кода.
Расширенная поддержка событийно-ориентированного программирования.
Язык программирования C# является родным для создания приложений в среде Microsoft .NET, поскольку наиболее тесно и эффективно интегрирован с ней.
MicrosoftVisualStudio- это версия VisualStudio и .NET Framework, которая поддерживает новые и улучшенные объекты, включает среду разработки с обновленным интерфейсом и отличается интегрированной поддержкой Microsoft SQL Server, позволяя создавать и развертывать проекты с применением сервера баз данных. Из инструмента программиста, пишущего и отлаживающего код, MicrosoftVisualStudio, превратилась в полноценное инструментальное средство, позволяющее автоматизировать деятельность всех членов команды, работающих над проектом.
1.2.2 Выбор СУБД
В каждом случае при выборе в пользу той или иной СУБД разработчик руководствуется собственной стратегией реализации и применения своего продукта, а если таковая не формализована на бумаге, то набором критериев, общих для всех и специфичных для конкретного случая. Среди них на первом месте стоит состав и масштаб решаемых задач, и, соответственно, требования к объемам обрабатываемой информации и производительности СУБД, уже сделанные инвестиции в проект и предполагаемые затраты. Поэтому поставщик должен предложить заказчику не только широкий набор прикладной функциональности для создания управленческой системы, но и выбор платформы для построения хранилища данных, которое отвечает его требованиям
Первый критерий - это полнота и завершенность продукта.
Во-первых, необходимо, чтобы СУБД отвечала фундаментальным требованиям масштабируемости. Хранилища данных и управления рабочими нагрузками. Также должна обеспечиваться поддержка интегрированной инфраструктуры. Ключевой компонент этого критерия - способность разработчика СУБД влиять на конкурентную среду СУБД Хранилищ данных, предлагая новые и востребованные функциональности и возможности, которые удовлетворяют требованиям пользователей.
Хорошая СУБД должна работать с целым рядом платформ операционных систем и масштабироваться в соответствии с используемыми инструментальными средствами. Это даст пользователю возможность использовать ту платформу, которая наилучшим образом подходит для решения той или иной проблемы.
Еще один важный момент - хорошие показатели времени установки СУБД и простоты использования, а также приемлемые стоимость лицензии и общая стоимость эксплуатации. Прежде чем приобретать ту или иную СУБД, важно определить ее способность эффективно использовать мощности операционной платформы.
Наконец, существенен и такой критерий, как способность СУБД применять достаточные вычислительные мощности для решения проблемы с тем, чтобы обеспечить оптимальную производительность сложного Хранилища данных.
Важный критерий - возможности поставщика осуществлять поддержку своего продукта. Этот критерий включает такие показатели, как способности высшего руководства компании-поставщика и степень управления компанией своим продуктом. Характеристики, важные для успеха, - это уровень инвестиций (затраты на исследования, разработку и маркетинг), долгосрочные финансовые обязательства, финансовая стабильность и способность поставщика преодолевать кратковременные трудности. Также очень существенно, насколько поставщик способен обеспечить широкий набор квалифицированных услуг при внедрении продукта и дальнейшей поддержке клиента. Наконец, имеют принципиальное значение широта и глубина партнерских связей поставщика с независимыми производителями программного обеспечения (например, аналитических приложений) и системными интеграторами, которые могут расширить область применения Хранилища данных. И еще один весьма показательный критерий - доступность, число и масштаб клиентских отзывов относительно различных рабочих нагрузок Хранилища данных.
Такой продукт, как СУБД для Хранилища, требует целого набора свойств для управления значительными объемами информационных данных и сложными моделями данных, независимыми от конкретных приложений. Подобные характеристики обычно могут быть получены только при наличии обширного опыта в области внедрения продукта, а также глубокого понимания потребностей пользователей.
Поскольку унифицированная технология доступа к данным позволяет использовать практически любую СУБД, с целью выявления наилучшей был проведен сравнительный анализ.
Результаты сравнение СУБД сведены в таблицы ТаблицаA.1 и A.2.
Выбор был сделан в пользу СУБД MSSQLServer, как наиболее полно отвечающей требованиям, предъявляемым к хранилищу данных, всего комплекса.
ГЛАВА 2. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
Методология проектирования предусматривает разбиение всего процесса на несколько стадий, каждая из которых, в свою очередь, состоит из нескольких этапов. На каждом этапе разработчику предлагается набор технических приемов, позволяющих решать задачи, стоящие перед ним на данной стадии разработки.
В предлагаемой методологии весь процесс проектирования базы данных подразделяется на три этапа:
oo Инфологические проектирование.
oo Логическое проектирование.
oo Физическое проектирование.
2.1 Инфологические проектирование
База данных представляет собой некоторую целевую модель предметной области. В БД (базах данных) находят отражение факты о предметной области, которые лежат в сфере интересов пользователей автоматизированной системы.
Проектирование БД начинается с предварительной структуризации предметной области. Объекты реального мира классифицируются, фиксируется их совокупность, подлежащая отображению в БД; для объекта каждого типа определяется совокупность свойств, посредством которых они будут описываться в БД; фиксируются виды отношений (взаимосвязей) между объектами. Затем решается вопрос о том, какая информация об этих объектах должна быть представлена в базе, и как это сделать с помощью данных [3, 8].
Идея установления соответствия между состоянием предметной области, его восприятием и представлением в БД лежит в основе так называемого инфологического подхода к проектированию информационных систем.
Сущность - любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Для идентификации конкретных экземпляров сущностей в некотором типе сущности при ее описании используются специальные атрибуты, играющие роль идентификатора. Это может быть один или несколько атрибутов, значения которых позволяют однозначно отличать один экземпляр сущности от другого [3, 8].
Атрибут - поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей. Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Здесь также существует различие между типом и экземпляром. Однако каждому экземпляру сущности присваивается только одно значение атрибута [7, 8].
Ключ - минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет однозначно идентифицировать сущность [7].
Модель сущность-связь является неформальной моделью предметной области и используется на этапе инфологического проектирования БД. Существует несколько подходов к построению этой модели, однако общим для всех является использование трех основных конструктивных элементов для представления составляющих предметной области - сущности, атрибута, и связи. Информация о проекте суммируется с использованием графических диаграмм [2].
Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования информационных систем: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл программного обеспечения.
Наиболее трудоемкими этапами разработки информационных систем являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых технических решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил. Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать существующую информационную систему, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями [8].
Среди таких пакетов - Rational Rose, Together Control Center, BPWin, ERWin, Model Mart, Silverrun Business Process Modeller, Process Analyst.
Для инфологического проектирования базы данных было выбрано CASE-средство ComputerAssociatesERwin7.0.
Создание модели данных, как правило, начинается с создания логической модели. После описания логической модели, проектировщик может выбрать необходимую СУБД (систему управления базами данных) и ERwin автоматически создаст соответствующую физическую модель. На основе физической модели ERwin может сгенерировать системный каталог СУБД или соответствующий SQL-скрипт. Этот процесс называется прямым проектированием (ForwardEngineering). Тем самым достигается масштабируемость - создав одну логическую модель данных, можно сгенерировать физические модели под любую поддерживаемую ERwin СУБД. С другой стороны, ERwin способен по содержимому системного каталога или SQL-скрипту воссоздать и физическую, и логическую модель данных (ReverseEngineering). На основе полученной логической модели данных можно сгенерировать физическую модель для другой СУБД и затем сгенерировать ее системный каталог [8].
В проектируемой модели использовалась логико-физическая модель, описанная далее.
2.1.1 Логическое проектирование
В разрабатываемой системе можно выделить следующие сущности: Специальности, Факультеты, Отделения, Обучаемые.
ER-диаграмма системы на логическом уровне представлена на рисунке 2.1.
Рисунок 2.1 ER-диаграмма системы на логическом уровне
Таблица 2.1 Описание сущностей
Наименование сущности
Наименование поля
Тип поля
Первичный ключ
Внешний ключ
Специальности
Код специальности
Число
Да
Да
Специальность
Строка
Нет
Нет
Факультеты
Код факультета
Число
Да
Да
Факультет
Строка
Нет
Нет
Отделения
Код отделения
Число
Да
Да
Отделение
Строка
Нет
Нет
Обучаемые
Год отчетности
Число
Да
Нет
Код специальности
Число
Да
Нет
Код факультета
Число
Да
Нет
Код отделения
Число
Да
Нет
Курс
Число
Нет
Нет
Количество обучаемых
Число
Нет
Нет
Данные в БД должны обладать свойством целостности. Под целостностью данных понимается корректность данных и их непротиворечивость в любой момент времени. Поддержание целостности базы данных может рассматриваться как защита данных от неверных изменений или разрушения (этот вопрос не относится к незаконным изменениям и разрушениям, которые являются проблемой безопасности).
Выделяют три группы правил целостности [7, 8]:
целостность по сущностям. Объекту или сущности реального мира в реляционных базах данных соответствуют кортежи отношений. Требование состоит в том, что любой кортеж любого отношения отличим от любого другого кортежа этого отношения, т.е. другими словами, любое отношение должно обладать первичным ключом. Это требование автоматически удовлетворяется, если в системе не нарушаются базовые свойства отношений. Первичный ключ - это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности;
целостность по ссылкам. База данных не должна содержать несогласованных значений внешних ключей. Правило утверждает, что если В ссылается на А, тогда А должно существовать. Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом. Требование целостности по ссылкам, или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в таблице, на которую ведет ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать);
целостность, определяемая пользователем. У пользователя (или у разработчика) базы данных должна быть возможность определить, какие операции должны быть запрещены, а какие разрешены, нужны ли для разрешенных операций компенсирующие, и если да, то какие (т.е. возможность каскадного удаления).
В разрабатываемой структуре БД учтены основные правила целостности. Каждая сущность идентифицируется уникальным ключом, и разработана система внешних ключей. База данных не содержит несогласованных значений внешних ключей, то есть при работе с записями происходит каскадное обновление связанных полей и каскадное удаление связанных записей.
Целостность, определяемая пользователем, поддерживается ограничениями в таблицах базы данных на ввод неотрицательных значений, а также обеспечением выбора значений внешних ключей из списков без разрешения варианта ввода недопустимого значения.
Нормализация - процесс проверки и реорганизации сущностей и атрибутов, т.е. разбиения таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта БД, в котором каждый факт появляется лишь в одном месте, т. е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных. Нормализация позволяет быть уверенным, что каждый атрибут определен для своей сущности, значительно сократить объем памяти для хранения информации и устранить аномалии в организации хранения данных. Процесс нормализации сводится к последовательному приведению структуры данных к нормальным формам - формализованным требованиям к организации данных.
Сущность находится в 1-й нормальной форме, когда все атрибуты содержат атомарные значения. Среди атрибутов не должно встречаться повторяющихся групп, т.е. несколько значений для каждого экземпляра.
Для приведения сущности к первой НФ следует [7]:
oo разделить сложные атрибуты на атомарные;
oo создать новую сущность;
oo перенести в нее все повторяющиеся атрибуты;
oo выбрать возможный ключ для нового № (или создать новый номер);
oo установить идентифицирующую связь от прежней сущности к новой, № прежней сущности станет внешним ключом для новой сущности.
Сущность находится во 2-й нормальной форме, если она находится в первой НФ и каждый не ключевой атрибут полностью зависит от первичного ключа. 2НФ имеет смысл для сущностей, имеющих сложный первичный ключ.
Для приведения сущности ко второй НФ следует [7]:
oo выделить атрибуты, которые зависят только от части первичного ключа, создать новую сущность;
oo поместить атрибуты, зависящие от части ключа, в их собственную (новую) сущность;
oo установить идентифицирующую связь от прежней сущности к новой.
Сущность находится в 3-й нормальной форме, если она находится во 2НФ и никакой не ключевой атрибут не зависит от другого не ключевого атрибута (не должно быть взаимозависимости между не ключевыми атрибута).
Для приведения сущности к третьей НФ следует [7]:
oo создать новую сущность и перенести в нее атрибуты с одной и той же зависимостью от не ключевого атрибута;
oo использовать атрибуты, определяющие эту зависимость в качестве первичного ключа новой сущности;
oo установить не идентифицирующую связь от новой сущности к старой.
Разработанная модель находится в 3-й нормальной форме.
2.1.2 Физическое проектирование
Физическая модель данных зависит от конкретной СУБД. В физической модели содержится информация обо всех объектах БД. Поскольку стандартов на объекты БД не существует, физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели ... продолжение
КАЗАХСКИЙ АГРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
имени С. СЕЙФУЛЛИНА
КАФЕДРА ___________________________________ ______
(наименование кафедры)
Курсовой проект (работа)
ПО ДИСЦИПЛИНЕ_________________________ ____________
(наименование дисциплины)
НА ТЕМУ ___________________________________ ___________
Строчными буквами, жирным шрифтом
Выполнил (а): студент (ка) _ курса
_____________________
(Ф.И.О)
Проверил (а): ____ ________________
(ученая степень, Ф.И.О преподавателя)
Курсовой проект (работа) допущен к защите ________________________________
(подпись преподавателя)
Нур-Султан 2019
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ 3
ГЛАВА 1. СИСТЕМНЫЙ АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1 Обзор предметной области 5
1.2 Обзор информационных технологий 5
1.2.1 Выбор языка программирования 5
1.2.2 Выбор СУБД 8
ГЛАВА 2. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ 10
2.1 Инфологические проектирование 10
2.1.1 Логическое проектирование 12
2.1.2 Физическое проектирование 15
ГЛАВА 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 17
3.1 Разработка приложения 17
3.2 Входные и выходные данные 18
ЗАКЛЮЧЕНИЕ 20
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 21
Приложение 1Выбор СУБД 22
Приложение 2Скрипты создания базы данных 25
Приложение 3Экранные формы приложения 38
Приложение 4Графы экранных форм приложения 44
Приложение 5Код экранных форм приложения 47
Приложение 6Пример выходных документов 53
ВВЕДЕНИЕ
Курсовая работа посвящена анализу проектирования баз данных, а также освещению методов построения форм и отчетов на примере построения программы ведения электронной документации учебного заведения.
Одной из составных задач можно рассматривать проблему составления статистических данных по данным об обучаемых студентах на факультетах, курсах и отделениях по различным специальностям.
О своевременности и актуальности рассматриваемой проблемы говорит тот факт, что большую часть своего времени администраторы заведений и преподаватели тратят на оформление различной документации и отчетов. Базы данных (БД) составляют в настоящее время основу компьютерного обеспечения информационных процессов, входящих практически во все сферы человеческой деятельности.
В настоящее время среди разработчиков базы данных (БД) большой популярностью пользуется реляционная СУБД MSSQLServer. Эффективные средства создания таблиц, форм, запросов, средства организации работы с базами данных и защита информации - вот далеко не полный перечень достоинств этого приложения.
Основные функции СУБД - это описание структуры базы данных, обработка данных и управление данными.
База данных - это совокупность сведений о реальных объектах, процессах, событиях или явлениях, относящихся к определённой теме или задаче, организованная таким образом, чтобы обеспечить удобное представление этой совокупности, как в целом, так и любой её части. Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определённого типа. Каждая строка таблицы содержит данные об одном объекте (например, клиенте, автомобиле, документе), а столбцы таблицы содержат различные характеристики этих объектов - атрибуты (например, наименования и адреса клиентов, марки и цены автомобилей). Строки таблицы называются записями, все записи имеют одинаковую структуру - они состоят из полей, в которых хранятся атрибуты объекта. Каждое поле в записи содержит одну характеристику объекта и имеет строго определённый тип данных (например, текстовая строка, число, дата). Все записи имеют одни и те же поля, только в них содержатся разные значения атрибутов.
Любая СУБД позволяет выполнять четыре простейшие операции с данными:
oo добавить в таблицу одну или несколько записей;
oo удалить из таблицы одну или несколько записей;
oo обновить значения некоторых полей в одной или нескольких записях;
oo найти одну или несколько записей, удовлетворяющих заданному условию.
Для выполнения этих операций используется механизм запросов. Результатом выполнения запросов является либо отобранное по определённым критериям множество записей, либо изменение в таблицах.
ГЛАВА 1. СИСТЕМНЫЙ АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Обзор предметной области
Предметная область - это часть реального мира, данные о которой мы хотим отразить в базе данных. В качестве предметной области в данной курсовой работе используется специальности ВУЗа. Предметная область бесконечна и содержит как существенно важные понятия и данные, так и малозначащие или вообще не значащие данные. Так, в предметной области понятия Специальность, Факультет, Отделение, Обучаемые являются существенно важными, а понятие ФИО студента- менее важной. Однако, с точки зрения деканата эти данные являются существенно важными. Таким образом, важность данных зависит от выбора предметной области.
В предметной области выделен ряд следующих основных понятий (сущностей), касающихся данной предметной области, а так же ряд основных характеристик этих понятий:
oo Специальности(Название);
oo Факультет (Название);
oo Отделение (Название);
oo Обучаемые(Факультет, Специальность, Отделение, год отчетности, курс, количество студентов)
Для исследования данной предметной области и построения инфологической модели, в общем, был использован материал о специфике работы подобных учреждений, а так же, материал о структуре и особенностях работы ВУЗов.
1.2 Обзор информационных технологий
1.2.1 Выбор языка программирования
При решении поставленной задачи оптимально использовать для представления информационных материалов язык С#, который является языком высокого уровня и позволяет быстро и эффективно создавать приложения.
Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов - языков программирования. Смысл появления такого языка - оснащённый набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм. Язык программирования служит двум связанным между собой целям: он даёт программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать.
C# (говоря на русском, си Шарп) - это объектно-ориентированное программирование. Он был разработан в 2001 году, инженерами под руководством Андерса Хейлсберга в компании Microsoft. На данное время существует 4 версии языка си Шарп.
Название Си Шарп (от англ. sharp - диез) происходит от музыкальной нотации, где знак диез, прибавляемый к основному обозначению ноты, означает повышение соответствующего этой ноте звука на полутон. Это аналогично названию языка С++, где ++ обозначает, что переменная должна быть увеличена на 1.
К числу принципиально важных решений, которые реализованы корпорацией Microsoft в языке программирования C#, можно отнести следующие: - компонентно-ориентированный подход к программированию (который характерен и для идеологии Microsoft .NET в целом); - свойства как средство инкапсуляции данных (характерно также в целом для ООП); - обработка событий (имеются расширения, в том числе в части обработки исключений, в частности, оператор try); - унифицированная система типизации (соответствует идеологии Microsoft .NET в целом); - делегаты (delegate - развитие указателя на функцию в языках C и C++); - индексаторы (indexer - операторы индекса для обращения к элементам класса- контейнера); - перегруженные операторы (развитие ООП); - оператор foreach (обработка всех элементов классов-коллекций, аналог VisualBasic); - механизмы boxing и unboxing для преобразования типов; - атрибуты (средство оперирования метаданными в COM-модели); - прямоугольные массивы (набор элементов с доступом по номеру индекса и одинаковым количеством столбцов и строк).
Достоинства си-шарпа по книге Биллига:
oo C# создавался параллельно с каркасом Framework .Net и в полной мере учитывает все его возможности - как FCL, так и CLR;
oo C# является полностью объектно-ориентированным языком, где даже типы, встроенные в язык, представлены классами;
oo C# является мощным объектным языком с возможностями наследования и универсализации;
oo C# является наследником языков CC++, сохраняя лучшие черты этих популярных языков программирования. Общий с этими языками синтаксис, знакомые операторы языка облегчают переход программистов от С++ к C#;
oo Сохранив основные черты своего великого родителя, язык стал проще и надежнее. Простота и надежность, главным образом, связаны с тем, что на C# хотя и допускаются, но не поощряются такие опасные свойства С++ как указатели, адресация, разыменование, адресная арифметика;
oo Благодаря каркасу Framework .Net, ставшему надстройкой над операционной системой, программисты C# получают те же преимущества работы с виртуальной машиной, что и программисты Java. Эффективность кода даже повышается, поскольку исполнительная среда CLR представляет собой компилятор промежуточного языка, в то время как виртуальная Java-машина является интерпретатором байт-кода;
oo Мощная библиотека каркаса поддерживает удобство построения различных типов приложений на C#, позволяя легко строить Web-службы, другие виды компонентов, достаточно просто сохранять и получать информацию из базы данных и других хранилищ данных;
oo Реализация, сочетающая построение надежного и эффективного кода, является немаловажным фактором, способствующим успеху C#.
Выделение и объединение лучших идей современных языков программирования делает язык C# не просто суммой их достоинств, а языком программирования нового поколения.
Для решения поставленной задачи необходимо использовать функциональную, эффективную и удобную платформу для разработки, позволяющую применять принципы объектно-ориентированного программирования. В качестве такой платформы была выбрана среда .NET.
Среда разработки VisualStudio, поставляемая вместе с .NET, предоставляет необходимый инструментарий для эффективного и быстрого создания приложений с графическим интерфейсом.
Появление технологии .NET повлекло за собой массовую реконструкцию некоторых языков программирования, стремящихся использовать те или иные возможности платформы, такие как C++ и VisualBasic. Microsoft решили предложить разработчикам альтернативу - язык, ориентированный специально .NET и создали C#. Сами разработчики языка описывают его, как простой, современный, объектно-ориентированный и безопасный язык программирования.
Несмотря на то, что C# и .NET предназначены в первую очередь для веб-разработки, их также активно применяют для создания приложений, которые должны устанавливаться на машине конечного пользователя, где и будет выполняться вся обработка данных. Разработку таких приложений обеспечивает библиотека Windows Forms, позволяющая проектировать графический интерфейс. Система, описанная в данной работе, разработана именно с помощью библиотеки Windows Forms.
Язык программирования C# претендует на подлинную объектную ориентированность, призван реализовать компонентно-ориентированный подход к программированию, который способствует меньшей машинно-архитектурной зависимости результирующего программного кода, большей гибкости, переносимости и легкости повторного использования программ.
Принципиально важным отличием от предшественников является изначальная ориентация на безопасность кода.
Расширенная поддержка событийно-ориентированного программирования.
Язык программирования C# является родным для создания приложений в среде Microsoft .NET, поскольку наиболее тесно и эффективно интегрирован с ней.
MicrosoftVisualStudio- это версия VisualStudio и .NET Framework, которая поддерживает новые и улучшенные объекты, включает среду разработки с обновленным интерфейсом и отличается интегрированной поддержкой Microsoft SQL Server, позволяя создавать и развертывать проекты с применением сервера баз данных. Из инструмента программиста, пишущего и отлаживающего код, MicrosoftVisualStudio, превратилась в полноценное инструментальное средство, позволяющее автоматизировать деятельность всех членов команды, работающих над проектом.
1.2.2 Выбор СУБД
В каждом случае при выборе в пользу той или иной СУБД разработчик руководствуется собственной стратегией реализации и применения своего продукта, а если таковая не формализована на бумаге, то набором критериев, общих для всех и специфичных для конкретного случая. Среди них на первом месте стоит состав и масштаб решаемых задач, и, соответственно, требования к объемам обрабатываемой информации и производительности СУБД, уже сделанные инвестиции в проект и предполагаемые затраты. Поэтому поставщик должен предложить заказчику не только широкий набор прикладной функциональности для создания управленческой системы, но и выбор платформы для построения хранилища данных, которое отвечает его требованиям
Первый критерий - это полнота и завершенность продукта.
Во-первых, необходимо, чтобы СУБД отвечала фундаментальным требованиям масштабируемости. Хранилища данных и управления рабочими нагрузками. Также должна обеспечиваться поддержка интегрированной инфраструктуры. Ключевой компонент этого критерия - способность разработчика СУБД влиять на конкурентную среду СУБД Хранилищ данных, предлагая новые и востребованные функциональности и возможности, которые удовлетворяют требованиям пользователей.
Хорошая СУБД должна работать с целым рядом платформ операционных систем и масштабироваться в соответствии с используемыми инструментальными средствами. Это даст пользователю возможность использовать ту платформу, которая наилучшим образом подходит для решения той или иной проблемы.
Еще один важный момент - хорошие показатели времени установки СУБД и простоты использования, а также приемлемые стоимость лицензии и общая стоимость эксплуатации. Прежде чем приобретать ту или иную СУБД, важно определить ее способность эффективно использовать мощности операционной платформы.
Наконец, существенен и такой критерий, как способность СУБД применять достаточные вычислительные мощности для решения проблемы с тем, чтобы обеспечить оптимальную производительность сложного Хранилища данных.
Важный критерий - возможности поставщика осуществлять поддержку своего продукта. Этот критерий включает такие показатели, как способности высшего руководства компании-поставщика и степень управления компанией своим продуктом. Характеристики, важные для успеха, - это уровень инвестиций (затраты на исследования, разработку и маркетинг), долгосрочные финансовые обязательства, финансовая стабильность и способность поставщика преодолевать кратковременные трудности. Также очень существенно, насколько поставщик способен обеспечить широкий набор квалифицированных услуг при внедрении продукта и дальнейшей поддержке клиента. Наконец, имеют принципиальное значение широта и глубина партнерских связей поставщика с независимыми производителями программного обеспечения (например, аналитических приложений) и системными интеграторами, которые могут расширить область применения Хранилища данных. И еще один весьма показательный критерий - доступность, число и масштаб клиентских отзывов относительно различных рабочих нагрузок Хранилища данных.
Такой продукт, как СУБД для Хранилища, требует целого набора свойств для управления значительными объемами информационных данных и сложными моделями данных, независимыми от конкретных приложений. Подобные характеристики обычно могут быть получены только при наличии обширного опыта в области внедрения продукта, а также глубокого понимания потребностей пользователей.
Поскольку унифицированная технология доступа к данным позволяет использовать практически любую СУБД, с целью выявления наилучшей был проведен сравнительный анализ.
Результаты сравнение СУБД сведены в таблицы ТаблицаA.1 и A.2.
Выбор был сделан в пользу СУБД MSSQLServer, как наиболее полно отвечающей требованиям, предъявляемым к хранилищу данных, всего комплекса.
ГЛАВА 2. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
Методология проектирования предусматривает разбиение всего процесса на несколько стадий, каждая из которых, в свою очередь, состоит из нескольких этапов. На каждом этапе разработчику предлагается набор технических приемов, позволяющих решать задачи, стоящие перед ним на данной стадии разработки.
В предлагаемой методологии весь процесс проектирования базы данных подразделяется на три этапа:
oo Инфологические проектирование.
oo Логическое проектирование.
oo Физическое проектирование.
2.1 Инфологические проектирование
База данных представляет собой некоторую целевую модель предметной области. В БД (базах данных) находят отражение факты о предметной области, которые лежат в сфере интересов пользователей автоматизированной системы.
Проектирование БД начинается с предварительной структуризации предметной области. Объекты реального мира классифицируются, фиксируется их совокупность, подлежащая отображению в БД; для объекта каждого типа определяется совокупность свойств, посредством которых они будут описываться в БД; фиксируются виды отношений (взаимосвязей) между объектами. Затем решается вопрос о том, какая информация об этих объектах должна быть представлена в базе, и как это сделать с помощью данных [3, 8].
Идея установления соответствия между состоянием предметной области, его восприятием и представлением в БД лежит в основе так называемого инфологического подхода к проектированию информационных систем.
Сущность - любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных. Для идентификации конкретных экземпляров сущностей в некотором типе сущности при ее описании используются специальные атрибуты, играющие роль идентификатора. Это может быть один или несколько атрибутов, значения которых позволяют однозначно отличать один экземпляр сущности от другого [3, 8].
Атрибут - поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей. Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Здесь также существует различие между типом и экземпляром. Однако каждому экземпляру сущности присваивается только одно значение атрибута [7, 8].
Ключ - минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет однозначно идентифицировать сущность [7].
Модель сущность-связь является неформальной моделью предметной области и используется на этапе инфологического проектирования БД. Существует несколько подходов к построению этой модели, однако общим для всех является использование трех основных конструктивных элементов для представления составляющих предметной области - сущности, атрибута, и связи. Информация о проекте суммируется с использованием графических диаграмм [2].
Современные CASE-средства охватывают обширную область поддержки многочисленных технологий проектирования информационных систем: от простых средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь жизненный цикл программного обеспечения.
Наиболее трудоемкими этапами разработки информационных систем являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых технических решений и подготовку проектной документации. При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил. Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать существующую информационную систему, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями [8].
Среди таких пакетов - Rational Rose, Together Control Center, BPWin, ERWin, Model Mart, Silverrun Business Process Modeller, Process Analyst.
Для инфологического проектирования базы данных было выбрано CASE-средство ComputerAssociatesERwin7.0.
Создание модели данных, как правило, начинается с создания логической модели. После описания логической модели, проектировщик может выбрать необходимую СУБД (систему управления базами данных) и ERwin автоматически создаст соответствующую физическую модель. На основе физической модели ERwin может сгенерировать системный каталог СУБД или соответствующий SQL-скрипт. Этот процесс называется прямым проектированием (ForwardEngineering). Тем самым достигается масштабируемость - создав одну логическую модель данных, можно сгенерировать физические модели под любую поддерживаемую ERwin СУБД. С другой стороны, ERwin способен по содержимому системного каталога или SQL-скрипту воссоздать и физическую, и логическую модель данных (ReverseEngineering). На основе полученной логической модели данных можно сгенерировать физическую модель для другой СУБД и затем сгенерировать ее системный каталог [8].
В проектируемой модели использовалась логико-физическая модель, описанная далее.
2.1.1 Логическое проектирование
В разрабатываемой системе можно выделить следующие сущности: Специальности, Факультеты, Отделения, Обучаемые.
ER-диаграмма системы на логическом уровне представлена на рисунке 2.1.
Рисунок 2.1 ER-диаграмма системы на логическом уровне
Таблица 2.1 Описание сущностей
Наименование сущности
Наименование поля
Тип поля
Первичный ключ
Внешний ключ
Специальности
Код специальности
Число
Да
Да
Специальность
Строка
Нет
Нет
Факультеты
Код факультета
Число
Да
Да
Факультет
Строка
Нет
Нет
Отделения
Код отделения
Число
Да
Да
Отделение
Строка
Нет
Нет
Обучаемые
Год отчетности
Число
Да
Нет
Код специальности
Число
Да
Нет
Код факультета
Число
Да
Нет
Код отделения
Число
Да
Нет
Курс
Число
Нет
Нет
Количество обучаемых
Число
Нет
Нет
Данные в БД должны обладать свойством целостности. Под целостностью данных понимается корректность данных и их непротиворечивость в любой момент времени. Поддержание целостности базы данных может рассматриваться как защита данных от неверных изменений или разрушения (этот вопрос не относится к незаконным изменениям и разрушениям, которые являются проблемой безопасности).
Выделяют три группы правил целостности [7, 8]:
целостность по сущностям. Объекту или сущности реального мира в реляционных базах данных соответствуют кортежи отношений. Требование состоит в том, что любой кортеж любого отношения отличим от любого другого кортежа этого отношения, т.е. другими словами, любое отношение должно обладать первичным ключом. Это требование автоматически удовлетворяется, если в системе не нарушаются базовые свойства отношений. Первичный ключ - это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности;
целостность по ссылкам. База данных не должна содержать несогласованных значений внешних ключей. Правило утверждает, что если В ссылается на А, тогда А должно существовать. Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом. Требование целостности по ссылкам, или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в таблице, на которую ведет ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать);
целостность, определяемая пользователем. У пользователя (или у разработчика) базы данных должна быть возможность определить, какие операции должны быть запрещены, а какие разрешены, нужны ли для разрешенных операций компенсирующие, и если да, то какие (т.е. возможность каскадного удаления).
В разрабатываемой структуре БД учтены основные правила целостности. Каждая сущность идентифицируется уникальным ключом, и разработана система внешних ключей. База данных не содержит несогласованных значений внешних ключей, то есть при работе с записями происходит каскадное обновление связанных полей и каскадное удаление связанных записей.
Целостность, определяемая пользователем, поддерживается ограничениями в таблицах базы данных на ввод неотрицательных значений, а также обеспечением выбора значений внешних ключей из списков без разрешения варианта ввода недопустимого значения.
Нормализация - процесс проверки и реорганизации сущностей и атрибутов, т.е. разбиения таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта БД, в котором каждый факт появляется лишь в одном месте, т. е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных. Нормализация позволяет быть уверенным, что каждый атрибут определен для своей сущности, значительно сократить объем памяти для хранения информации и устранить аномалии в организации хранения данных. Процесс нормализации сводится к последовательному приведению структуры данных к нормальным формам - формализованным требованиям к организации данных.
Сущность находится в 1-й нормальной форме, когда все атрибуты содержат атомарные значения. Среди атрибутов не должно встречаться повторяющихся групп, т.е. несколько значений для каждого экземпляра.
Для приведения сущности к первой НФ следует [7]:
oo разделить сложные атрибуты на атомарные;
oo создать новую сущность;
oo перенести в нее все повторяющиеся атрибуты;
oo выбрать возможный ключ для нового № (или создать новый номер);
oo установить идентифицирующую связь от прежней сущности к новой, № прежней сущности станет внешним ключом для новой сущности.
Сущность находится во 2-й нормальной форме, если она находится в первой НФ и каждый не ключевой атрибут полностью зависит от первичного ключа. 2НФ имеет смысл для сущностей, имеющих сложный первичный ключ.
Для приведения сущности ко второй НФ следует [7]:
oo выделить атрибуты, которые зависят только от части первичного ключа, создать новую сущность;
oo поместить атрибуты, зависящие от части ключа, в их собственную (новую) сущность;
oo установить идентифицирующую связь от прежней сущности к новой.
Сущность находится в 3-й нормальной форме, если она находится во 2НФ и никакой не ключевой атрибут не зависит от другого не ключевого атрибута (не должно быть взаимозависимости между не ключевыми атрибута).
Для приведения сущности к третьей НФ следует [7]:
oo создать новую сущность и перенести в нее атрибуты с одной и той же зависимостью от не ключевого атрибута;
oo использовать атрибуты, определяющие эту зависимость в качестве первичного ключа новой сущности;
oo установить не идентифицирующую связь от новой сущности к старой.
Разработанная модель находится в 3-й нормальной форме.
2.1.2 Физическое проектирование
Физическая модель данных зависит от конкретной СУБД. В физической модели содержится информация обо всех объектах БД. Поскольку стандартов на объекты БД не существует, физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели ... продолжение
Похожие работы
Дисциплины
- Информатика
- Банковское дело
- Оценка бизнеса
- Бухгалтерское дело
- Валеология
- География
- Геология, Геофизика, Геодезия
- Религия
- Общая история
- Журналистика
- Таможенное дело
- История Казахстана
- Финансы
- Законодательство и Право, Криминалистика
- Маркетинг
- Культурология
- Медицина
- Менеджмент
- Нефть, Газ
- Искуство, музыка
- Педагогика
- Психология
- Страхование
- Налоги
- Политология
- Сертификация, стандартизация
- Социология, Демография
- Статистика
- Туризм
- Физика
- Философия
- Химия
- Делопроизводсто
- Экология, Охрана природы, Природопользование
- Экономика
- Литература
- Биология
- Мясо, молочно, вино-водочные продукты
- Земельный кадастр, Недвижимость
- Математика, Геометрия
- Государственное управление
- Архивное дело
- Полиграфия
- Горное дело
- Языковедение, Филология
- Исторические личности
- Автоматизация, Техника
- Экономическая география
- Международные отношения
- ОБЖ (Основы безопасности жизнедеятельности), Защита труда