Обучающая программа по предмету "Базы данных"

Автор работы: Пользователь скрыл имя, 17 Июня 2012 в 20:52, курсовая работа

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

Задачи проекта:
1. Анализ предметной области
2. Проектирование базы данных средствами MS ACCESS
3. Разработка приложения средствами VBA
4. Защита БД

Содержание работы

Введение 4
1.Общая часть 6
1.1. Обзор и анализ предметной области 6
1.2. Жизненный цикл базы данных 7
1.3. Защита базы данных 9
1.4. Выбор и характеристика СУБД 13
1.5. Выбор и характеристика среды разработки приложения. 15
2. Специальная часть. 19
2.1. Постановка задачи: 19
2.2. Логическая схема БД 20
2.3. Описание таблиц 21
2.4. Другие объекты базы данных 23
2.5. Разработка приложений 25
2.6. Выбор способа защиты базы данных 27
2.7. Инструкция пользователю 28
Заключение 29
Список литературы 30

Файлы: 1 файл

пояснительная записка.docx

— 173.01 Кб (Скачать файл)

 

  1. Использование базы данных Office ACCESS 2007 в надежном расположении. Если база данных Office ACCESS 2007 размещена в надежном расположении, при ее открытии работают все коды VBA, макросы и безопасные выражения. При этом не возникает необходимость решать вопросы доверия.

 

 

 

 

2.7. Инструкция пользователю

2.7.1. Общие  сведения об информационной системе

Информационная система – совокупность средств (технических, информационных, программных), организационных методов  и персонала, предназначенных для  ввода, хранения, обработки и выдачи информации в интересах поставленной задачи.

В данной базе информационной системой является пакет Microsoft Office Access 2007.

 

2.7.2. Требования  к техническим средствам

  1. Процессор с тактовой частотой 500 МГц или выше.
  2. 256 МБ ОЗУ (рекомендуется 512 МБ для использования графических возможностей и определённых расширенных функций).

 

      1. Требования к программным средствам
  1. 300 Мб свободного места на жестком диске.
  2. ОС Windows XP/Vista/7 (32- , 64-разрядная версия), Windows Server 2003 с пакетом обновления 2 (SP2) и MSXML 6.0 (только для 32-разрядной версии Office), Windows Server 2008 либо более поздняя 32- или 64-разрядная версия операционной системы.
  3. Для использования аппаратного ускорения графики необходима графическая плата с поддержкой DirectX 9.0c и объёмом видеопамяти 64 МБ или больше.
  4. Пакет Microsoft Office 2007/2010.

 

 

 

 

 

 

 

 

 

Заключение

Данный курсовой проект был  посвящен созданию базы данных и обучающей  программы по предмету «Базы данных». В проекте структура пользования  программой разделена на два уровня – студенческий и преподавательский. На каждом уровне есть свои возможности. На студенческом уровне: учащийся имеет  возможность изучить лекцию по предмету и пройти по ней тестирования для  проверки полученных знаний, а затем  посмотреть результат. Преподаватель, после идентификации, имеет право  изменять данные в таблицах базы данных: редактировать, удалять, добавлять  записи, просмотреть результаты по студенту, дате или группе и изменять критерии оценивания.

При более глубокой реализации проекта, можно было создать сервер, благодаря которому этой программой могут пользоваться не только студенты колледжа, но и далёкие от учебного заведения люди. В таком случае следует организовать регистрацию  пользователей, проходящих тестирование, осуществить загрузку лекций с сервера  и проконтролировать, чтобы при  прохождении теста текстовый  документ лекций был закрыт. А так  же разделить уровни пользования  на тестируемых и администратора, расширив возможности обоих уровней:

Для уровня непривилегированного пользователя – предоставить возможность просмотреть результат не по только что пройденной теме, а по всем, пройденным пользователем.

Для уровня администратора – возможность устанавливать  время прохождения теста, разрешение или запрет на самостоятельную регистрацию.

В целом, в курсовом проекте  реализованы в жизнь поставленные задачи, обеспечена простая и понятная для использования работа с приложением.

 

Список литературы

        1. С.М. Диго «Базы данных»
        2. Лекции по предмету «Базы данных»
        3. Практические работы
        4. http://khpi-iip.mipk.kharkiv.edu/library/dbms/lab1/vba.html
        5. http://bit.pirit.info/forum/viewforum.php?f=7

 

Загрузка

Option Compare Database

Dim k As Integer

Private Sub Form_Load()

k = 0

End Sub

 

Private Sub Auto_Logo0_Click()

If k = 0 Then

MsgBox ("Уважаемый! Вы по что мозг мира трогаете?")

Else

If k <= 3 Then

MsgBox ("Прекратите тыкать  в меня своей неразумной мышью!")

Else

If k <= 5 Then

Auto_Logo0.Visible = False

bums.Visible = True

End If

End If

End If

k = k + 1

End Sub

 

Private Sub bums_Click()

bums.Visible = False

Auto_Logo0.Visible = True

End Sub

 

Private Sub кн1_click()

On Error GoTo Err_кн1_Click

    Dim stDocName As String

    Dim stLinkCriteria As String

    stDocName = "form2s"

    DoCmd.openform stDocName, , , stLinkCriteria

Exit_кн1_Click:

    Exit Sub

Err_кн1_Click:

    MsgBox Err.Description

    Resume Exit_кн1_Click

End Sub

 

Private Sub кн2_Click()

On Error GoTo Err_кн2_Click

    Dim stDocName As String

    Dim stLinkCriteria As String

    stDocName = "form2p"

    DoCmd.openform stDocName, , , stLinkCriteria

Exit_кн2_Click:

    Exit Sub

Err_кн2_Click:

    MsgBox Err.Description

    Resume Exit_кн2_Click

End Sub

 

Form2s  ‘’ первая форма для студентов

Option Compare Database

Private Sub Form_Load()

list1.RowSource = "Select distinct [н_группы] from [студенты]"

End Sub

 

Private Sub list1_Click()

Dim group As String, A As String

group = list1.Value

A = ("Select н_паспорта FROM Студенты WHERE н_группы='" & group & "'")

list2.RowSource = A

End Sub

 

Private Sub tarakani_Click()

tarakani.Visible = False

onotole.Visible = True

End Sub

Private Sub onotole_Click()

onotole.Visible = False

onotole2.Visible = True

End Sub

 

Private Sub кн1_click()

Dim db As Database, rst As DAO.Recordset, rst2 As DAO.Recordset

Set db = CurrentDb

Dim B, x, n, m, num, A, k As String

Dim sch As Integer

num = list2.Value

n = list2.Column(0, num)

x = "Select пароль FROM пароли WHERE н_паспорта='" & n & "'"

If ((IsNull(pass.Value) = True) Or (IsNull(list1.Value) = True) Or (IsNull(list2.Value) = True)) Then

MsgBox ("Вы не выбрали  группу или номер паспорта. Или не ввели пароль!")

Else

Set rst = db.OpenRecordset(x, dbOpenDynaset)

A = rst.Fields("пароль").Value

B = pass.Value

Set rst2 = db.OpenRecordset("результаты", dbOpenDynaset)

If rst2.RecordCount = 0 Then

rst2.AddNew

rst2.Fields("н_паспорта").Value = n

rst2.Fields("н_рез").Value = 1

rst2.Update

Else

rst2.MoveLast

k = rst2.RecordCount

rst2.MoveFirst

nr = k + 1

sch = 1

Do Until rst2.EOF

If rst2.Fields("н_рез").Value = sch Then

sch = sch + 1

Else

nr = sch

End If

rst2.MoveNext

Loop

rst2.AddNew

rst2.Fields("н_паспорта").Value = n

rst2.Fields("н_рез").Value = nr

rst2.Update

End If

If (B = A) Then

On Error GoTo Err_кн1_Click

Dim stDocName As String

Dim stLinkCriteria As String

    stDocName = "form3s"

  DoCmd.openform stDocName, , , stLinkCriteria

Exit_кн1_Click:

  Exit Sub

Err_кн1_Click:

  MsgBox Err.Description

Resume Exit_кн1_Click

Else

MsgBox ("Неверный пароль!")

End If

End If

End Sub

 

Private Sub Кнопка11_Click()

DoCmd.Close

stDocName = "Загрузка"

  DoCmd.openform stDocName, , , stLinkCriteria

End Sub

 

Form3s  ‘’выбор темы, изучение лекции

Option Compare Database

Dim db As Database, rst As DAO.Recordset, rst2, rst3 As DAO.Recordset

Dim path As String

Dim wrd As Word.Application

Dim o, f As Integer

    Dim doc As Word.Document

    Dim l As String

 

Private Sub list1_Click()

Dim tema As String, A, push As String

Set db = CurrentDb

push = list1.Value

nt = list1.Column(1, push)

Set seltem = db.OpenRecordset("select [н_темы] from [темы] where [наим_темы] like '" & nt & "' ", dbOpenSnapshot)

seltem.MoveFirst

ntem = seltem.Fields("н_темы").Value

End Sub

 

Private Sub кн1_click()

Dim stDocName As String

Dim stLinkCriteria As String

Dim d As Date

If f = 1 Then

MsgBox ("завершите изучение лекции (кнопка)")

Else

d = Now

Set db = CurrentDb

Set rst2 = db.OpenRecordset("результаты", dbOpenDynaset)

Set rst3 = db.OpenRecordset("Select [н_темы],[наим_темы] From [темы] where [наим_темы] like '" & nt & "'", dbOpenDynaset)

rst2.MoveFirst

Do Until rst2.EOF

If rst2.Fields("н_рез").Value = nr Then

rst2.Edit

rst2.Fields("н_темы").Value = rst3.Fields("н_темы").Value

rst2.Fields("дата").Value = d

rst2.Update

End If

rst2.MoveNext

Loop

On Error GoTo Err_кн1_Click

    stDocName = "form4s"

    DoCmd.openform stDocName, , , stLinkCriteria

Exit_кн1_Click:

Exit Sub

Err_кн1_Click:

    MsgBox Err.Description

    Resume Exit_кн1_Click

End If

End Sub

 

Private Sub кнопка10_click()

wrd.Visible = False

f = 0

End Sub

 

Private Sub Кнопка9_Click()

       If IsNull(list1.Value) = False Then

          list1.SetFocus

          l = list1.Value

          f = 1

    path = "F:\КП\лекции\" & l & ".docx"

    Set wrd = New Word.Application

    Set doc = wrd.Documents.Open(path)

    wrd.Visible = True

    Else

MsgBox ("Вы не выбрали тему!!!")

End If

End Sub

 

Form4s  ‘’тестирование

Option Compare Database

Dim schotchik, v, i, k, ozz, otm, ysl As Integer

Dim db As Database, op1, op2, op3, op4, vopros, prav, kr3, kr4, kr5, otvet As String

Dim ozen, rst, rst2, rst3, sl, viv, vv, rez As DAO.Recordset

Dim f As String, notv As String

Dim stDocName As String

Dim stLinkCriteria As String

 

Private Sub Form_Load()

Dim tbl As TableDef

Set db = CurrentDb

Set rst = db.OpenRecordset("select [н_темы],[вопрос],[н_правильного_ответа] from [вопросы] where [н_темы] like '" & ntem & "'", dbOpenSnapshot)

Set rst2 = db.OpenRecordset("select * from [вывод_на_экран] where [н_темы] like '" & ntem & "'", dbOpenSnapshot)

Set rst3 = db.OpenRecordset("ответы", dbOpenSnapshot)

Set ozen = db.OpenRecordset("оценивание", dbOpenSnapshot)

Set sl = db.OpenRecordset("select distinct [н_вопроса] from [вывод_на_экран] where [н_темы] like '" & ntem & "'", dbOpenDynaset)

sl.MoveLast

ysl = sl.RecordCount

 Do Until ozen.EOF 'критерии оценки из таб. оценивание

 If ozen.Fields("оценка").Value = 3 Then

kr3 = ozen.Fields("кол_отв").Value

End If

If ozen.Fields("оценка").Value = 4 Then

kr4 = ozen.Fields("кол_отв").Value

End If

If ozen.Fields("оценка").Value = 5 Then

kr5 = ozen.Fields("кол_отв").Value

End If

ozen.MoveNext

Loop

Set vv = db.OpenRecordset("testnew", dbOpenDynaset) 'чистить таблицу testnew

vv.AddNew

vv.Fields("Номер_вопроса").Value = "5046554"

 vv.Update

vv.MoveFirst

Do Until vv.EOF

vv.Delete

vv.MoveNext

Loop

ozz = 0 'счетчик правильных ответов

 schotchik = 1 ' счетчик вопросов

i = 1 ' номер вопроса

Set viv = db.OpenRecordset("select * from [вывод_на_экран] where [н_темы] like '" & ntem & "' and [н_вопроса] like  '" & i & "'  ", dbOpenSnapshot) 'вытаскивает тему и вопрос..

 rst.MoveFirst

rst2.MoveFirst

rst3.MoveFirst

vopr.SetFocus

vopr.Value = rst.Fields("вопрос").Value

vopros = vopr.Value

Do Until rst.EOF ' находим правильный  ответ

vopr.SetFocus

If rst.Fields("вопрос").Value = vopros Then

prav = rst.Fields("н_правильного_ответа").Value

End If

rst.MoveNext

Loop

nv.Value = i

k = 0

viv.MoveFirst

Do Until viv.EOF 'вывод в 4 поля

k = k + 1

If k = 1 Then

o1.SetFocus

o1.Value = viv.Fields("н_ответа").Value

op1 = viv.Fields("н_ответа").Value

End If

If k = 2 Then

o2.SetFocus

o2.Value = viv.Fields("н_ответа").Value

op2 = viv.Fields("н_ответа").Value

End If

If k = 3 Then

o3.SetFocus

o3.Value = viv.Fields("н_ответа").Value

op3 = viv.Fields("н_ответа").Value

End If

If k = 4 Then

o4.SetFocus

o4.Value = viv.Fields("н_ответа").Value

Информация о работе Обучающая программа по предмету "Базы данных"