Автор работы: Пользователь скрыл имя, 25 Ноября 2013 в 17:02, курсовая работа
Целью курсового проекта является приобретение навыков разработки баз данных. Задачи, которые необходимо решить при создании программного продукта:
Анализ предметной области;
Проектирование базы данных;
Разработка приложения для взаимодействия с БД.
Приложение представляет собой клиент-серверную систему:
серверная часть: MS SQL Server
клиентская – С#
Введение 3
1. Выбор автоматизируемых функций и информационного обеспечения
Краткое описание предметной области 5
Цель разработки 8
Описание информационного обеспечения 8
2. Проектирование
2.1 Проектирование базы данных 11
2.2 План разработки 11
3. Реализация логической и физической модели базы данных MS SQL Server
SQL код создания реляционной модели базы данных 12
Логическая схема БД 13
Описание структуры БД 14
SQL-код запросов наиболее часто используемых в процессе эксплуатации БД 16
Пользователи БД 18
4. Проектирование приложений доступа к базе данных для автоматизируемых функций
Разработка прототипов клиентского приложения 22
4.2 Реализация клиентского приложения в среде MS C# 26
Заключение 29
Список использованной литературы 30
SQl код для создание таблицы ucheniki в БД el_dnewn
use el_dnewn
create table ucheniki
(id_uch varchar(11) PRIMARY KEY,
id_klas varchar(11) not null,
fam varchar(50)not null,
nam varchar(50)not null,
otch varchar(50)not null)
Структура таблицы klass
Имя столбца |
Тип данных |
Размерность |
Возможность значений null |
Содержательное описание |
Id_klas |
varchar |
11 |
Нет |
Идентификатор класса |
numer_klas |
varchar |
20 |
Нет |
Название класса |
SQl код для создание таблицы klass в БД el_dnewn
use el_dnewn
create table klass
(id_klas varchar(11) PRIMARY KEY,
numer_klas varchar(20)not null)
Структура таблицы dnewn
Имя столбца |
Тип данных |
Размерность |
Возможность значений null |
Содержательное описание |
id_ocen |
varchar |
11 |
Нет |
Идентификатор оценки |
date |
date |
Нет |
Дата выставления оценки | |
id_uch |
varchar |
11 |
Нет |
Идентификатор ученика |
id_predm |
varchar |
11 |
Нет |
Идентификатор предмета |
zadanie |
varchar |
100 |
Нет |
Задание |
ocenka |
char |
Нет |
Оценка |
SQl код для создание таблицы dnewn в БД el_dnewn
use el_dnewn
create table dnewn1
(id_ocen varchar(11) PRIMARY KEY,
date date not null,
id_uch varchar(11) not null,
id_predm varchar(11)not null,
zadanie varchar(100)not null,
ocenka char not null check (ocenka like '[1-5]')
)
Структура таблицы predm
Имя столбца |
Тип данных |
Размерность |
Возможность значений null |
Содержательное описание |
id_predm |
varchar |
11 |
Нет |
Идентификатор предмета |
naz_predm |
varchar |
59 |
Нет |
Название предмета |
SQl код для создание таблицы predm в БД el_dnewn
use el_dnewn
create table predm
(id_predm varchar(11) PRIMARY KEY,
naz_predm varchar(59) not null)
3.4 SQL-код запросов наиболее часто используемых в процессе эксплуатации базы данных
Наиболее частыми запросами при работе с данной автоматизированной системой в базе данных MS SQL Server это:
1.Запрос на предостовление информации о ученике
SELECT u.id_uch,fam, name, k.numer_klas, AVG(ocenka) 'ocenka'
from ucheniki u, klass k,dnewn d
where u.id_klas=k.id_klas and d.id_uch=u.id_uch and u.id_uch='1'
2. Запрос на предоставление информации о классе:
SELECT count(u.id_uch), AVG(ocenka)
from ucheniki u, klass k
where u.id_klas=k.id_klas and numer_klas='1'
3.Запрос списка класса
SELECT fam, name
from ucheniki u, klass k
where u.id_klas=k.id_klas and numer_klas='1'
4.Поиск школьника по фамилии
SELECT numer_klas,fam, name, otch
from ucheniki u,klass k
where k.id_klas=u.id_klas AND fam ='Михайлов'
5.Запрос оценок всего класса
SELECT date, fam, name, naz_predm, zadanie, ocenka
from dnewn d,ucheniki u, predm p, klass k
where d.id_uch=u.id_uch
AND p.id_predm=d.id_predm
AND k.id_klas=u.id_klas AND numer_klas='1'
6.Запрос всех домашних заданий конкретного класса
SELECT date, naz_predm, zadanie
from dnewn d,ucheniki u, predm p, klass k
where d.id_uch=u.id_uch
AND p.id_predm=d.id_predm
AND k.id_klas=u.id_klas AND numer_klas='1'
7.Запрос всех оценок конкретного ученика
SELECT date, numer_klas,fam, name, naz_predm, zadanie, ocenka
from dnewn d,ucheniki u, predm p, klass k
where d.id_uch=u.id_uch
AND p.id_predm=d.id_predm
AND k.id_klas=u.id_klas AND u.id_uch ='1'
Защитим БД от случайного, так и от намеренного повреждения или искажения информации, т.е. четко определим полномочии каждого пользователя системы.
Имя пользователя |
Полномочия |
Содержательное описание |
prepod |
db_datareader db_datawriter |
Пользователю prepod разрешено выполнять SELECT, INSERT, UPDATE и DELETE для всех таблиц базы данных. Пользователь с этими привилегиями может:
|
Сценарий создания пользователя prepod USE [master] GO CREATE LOGIN [prepod] WITH PASSWORD=N'123' MUST_CHANGE, DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON GO USE [el_dnewn] GO CREATE USER [zaw] FOR LOGIN [zaw] GO USE [el_dnewn] GO EXEC sp_addrolemember N'db_datareader', N'prepod' GO USE [el_dnewn] GO EXEC sp_addrolemember N'db_datawriter', N'prepod' GO USE [el_dnewn] GO EXEC sp_addrolemember N'db_ddladmin', N'prpod' GO | ||
roditel |
db_datareader |
Пользователю roditel разрешено выполнять SELECT, для всех таблиц базы данных. Пользователь с этой привилегией может выполнять запросы в таблице, т.е. родитель может просто просматривать содержимое таблиц и без права на какие либо изменения. |
Сценарий создания пользователя rodirel USE [master] GO CREATE LOGIN [roditel] WITH PASSWORD=N'1234' MUST_CHANGE, DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON GO USE [el_dnewn] GO CREATE USER [zaw] FOR LOGIN [zaw] GO USE [el_dnewn] GO EXEC sp_addrolemember N'db_datareader', N'roditel' GO USE [el_dnewn] GO EXEC sp_addrolemember N'db_datawriter', N'roditel' GO USE [el_dnewn] GO EXEC sp_addrolemember N'db_ddladmin', N'roditel' GO | ||
zaw |
db_datareader db_datawriter db_ddladmin |
Пользователь с этими
|
Сценарий создания пользователя zaw USE [master] GO CREATE LOGIN [zaw] WITH PASSWORD=N'123' MUST_CHANGE, DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON GO USE [el_dnewn] GO CREATE USER [zaw] FOR LOGIN [zaw] GO USE [el_dnewn] GO EXEC sp_addrolemember N'db_datareader', N'zaw' GO USE [el_dnewn] GO EXEC sp_addrolemember N'db_datawriter', N'zaw' GO USE [el_dnewn] GO EXEC sp_addrolemember N'db_ddladmin', N'zaw' GO |
4.1. Разработка прототипов клиентского приложения
В данном разделе разрабатываются
прототипы клиентского
Рис.2.Форма которая открывается при запуске exe файла. Она используется как меню.
Рис.3. Форма для добавления учеников
Рис.4.Форма для добавления оценок
Рис.5. Форма для просмотра оценок
Рис.6 Форма для просмотра учеников
Код для приложений
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace el_dnewn
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void добавлениеУчениковToolStripMen
{
FormUcheniki myForm2 = new FormUcheniki();
myForm2.Show();
}
private void добавлениеОценокToolStripMenuI
{
FormDnewn myForm3 = new FormDnewn();
myForm3.Show();
}
private void оценокToolStripMenuItem_Click(
{
FormOcen myForm4 = new FormOcen();
myForm4.Show();
}
private void учениковToolStripMenuItem_
{
Uch myForm5 = new Uch();
myForm5.Show();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace el_dnewn
{
public partial class FormDnewn : Form
{
public FormDnewn()
{
InitializeComponent();
}
private void FormDnewn_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "el_dnewnDataSet.predm". При необходимости она может быть перемещена или удалена.
this.predmTableAdapter.Fill(th
// TODO: данная строка кода позволяет загрузить данные в таблицу "el_dnewnDataSet.ucheniki". При необходимости она может быть перемещена или удалена.
this.uchenikiTableAdapter.
// TODO: данная строка кода позволяет загрузить данные в таблицу "el_dnewnDataSet.dnewn". При необходимости она может быть перемещена или удалена.
this.dnewnTableAdapter.Fill(th
}
private void dataGridView1_
{
}
private void fillBy1ToolStripButton_Click(o
{
try
{
this.dnewnTableAdapter.
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBo
}
}
private void button1_Click(object sender, EventArgs e)
{
this.Validate();
this.dnewnBindingSource.
this.dnewnTableAdapter.Update(
} }}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace el_dnewn
{
public partial class FormUcheniki : Form
{
public FormUcheniki()
{
InitializeComponent();
}
private void FormUcheniki_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "el_dnewnDataSet.klass". При необходимости она может быть перемещена или удалена.
this.klassTableAdapter.Fill(th
// TODO: данная строка кода позволяет загрузить данные в таблицу "el_dnewnDataSet.ucheniki". При необходимости она может быть перемещена или удалена.
this.uchenikiTableAdapter.
}
private void button1_Click(object sender, EventArgs e)
{
this.Validate();
this.uchenikiBindingSource.
this.uchenikiTableAdapter.
}
private void fillByToolStripButton_Click(ob
{
try
{
this.uchenikiTableAdapter.
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBo
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
Заключение
Курсовой проект посвящен разработке программы учета успеваемости школьников.
В ходе курсового проекта были решены следующие задачи:
Программа учета успеваемости облегчает работу классных руководителей, школьников и их родителей в различных учебных заведениях. Реализуется это быстрым переходом от поиска к выводу успеваемости. Осуществлена возможность внесения новых оценок по различным предметам и дате. Имея определенные навыки программирования, есть возможность добавления новых предметов и реализации дневной успеваемости и успеваемости по учебным четвертям и любого промежутка времени
Список литературы
Информация о работе База Данных электронного дневника школьника