Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовий_Гребенюка_АСП_здано(5 балів).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
567 Кб
Скачать
☆

4. Детальне проектування

4.1. Розробка бази даних проекту, структура таблиць

База даних веб - додатку «Бібліотека» створена розробником проекту. До проекту було допущено 3 користувачів, а саме: Леопольд, Жанна, Катя. В самій базі даних міститься 3 таблиці:

  • LibBooks;

  • LibCategories;

  • LibUsers.

Кожна таблиця містить свої атрибути. Атрибути таблиці «LibBooks»:

  • LibBookID;

  • BookTitle;

  • Author;

  • LibBookCategoryID;

  • ISBN;

  • Keywords;

  • Description;

  • Status;

  • CheckedOutTo.

Атрибути таблиці «LibCategories»:

  • LibBookCategoryID;

  • CategoryName.

Атрибути таблиці «LibUsers»:

  • LibUserID;

  • UserName;

  • Password;

  • EmailAddress;

  • UserType.

Рис. 4.1.1 – Конструкторський вид таблиці LibBooks.

Рис. 4.1.2 – Конструкторський вид таблиці LibCategories.

Рис. 4.1.3 – Конструкторський вид таблиці LibUsers.

Рис. 4.1.4 – Логічна схема бази даних.

4.2. Основні модулі, алгоритми

При створенні проекту було використано наступні модулі:

  1. Модуль реєстрації користувача:

Рис. 4.2.1 – Модуль реєстрації користувача.

  1. Модуль фільтрації або пошуку книги(за запитом користувача)

Рис. 4.2.2 – Модуль фільтрації / пошуку книг(и)

  1. Модуль знайдених або відфільтрованих книг за запитом.

Рис. 4.2.3 – Модуль перегляду списку знайдених / відфільтрованих книг по запиту користувача.

  1. Інформаційний модуль перегляду даних про книги.

Рис. 4.2.4 – Модуль перегляду повної інформації по вибраній книзі.

  1. Модуль управління бібліотекою.

Рис. 4.2.5 – Модуль управління бібліотеки.

Для роботи бази даних з проектом було використано наступний алгоритм: Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)

If Len(Session("LibUserID")) = 0 Then

Response.Redirect("./index.aspx")

End If

If Session("UserType") <> "Бібліотекарь" Then

Response.Redirect("./menu.aspx")

End If

If Not IsPostBack Then

Dim DBConn as OleDbConnection

Dim DBCommand As OleDbDataAdapter

Dim DSPageData as New DataSet

DBConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;" _

& "DATA SOURCE=" _

& Server.MapPath("/INetBook/C5/Library/" _

& "Access/C5Library.mdb;"))

DBCommand = New OleDbDataAdapter _

("select LibBookCategoryID, CategoryName " _

& "from LibCategories Order By CategoryName" _

, DBConn)

DBCommand.Fill(DSPageData, _

"Categories")

ddlibBookCategoryID.DataSource = _

DSPageData.Tables("Categories").DefaultView

ddlibBookCategoryID.DataBind()

DBCommand = New OleDbDataAdapter _

("select LibBookID, BookTitle " _

& "from LibBooks Order By BookTitle" _

, DBConn)

DBCommand.Fill(DSPageData, _

"Books")

ddlBooks.DataSource = _

DSPageData.Tables("Books").DefaultView

ddlBooks.DataBind()

End If

End Sub

Sub Delete_Click(Sender As Object, E As EventArgs)

Dim DBConn as OleDbConnection

Dim DBCommand As OleDbDataAdapter

Dim DSPageData as New DataSet

Dim DBDelete As New OleDbCommand

DBConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;" _

& "DATA SOURCE=" _

& Server.MapPath("/INetBook/C5/Library/" _

& "Access/C5Library.mdb;"))

DBDelete.CommandText = "Delete From LibBooks " _

& "Where LibBookID = " & ddlBooks.SelectedItem.Value

DBDelete.Connection = DBConn

DBDelete.Connection.Open

DBDelete.ExecuteNonQuery()

DBCommand = New OleDbDataAdapter _

("select LibBookID, BookTitle " _

& "from LibBooks Order By BookTitle" _

, DBConn)

DBCommand.Fill(DSPageData, _

"Books")

ddlBooks.DataSource = _

DSPageData.Tables("Books").DefaultView

ddlBooks.DataBind()

End Sub

Sub Add_Click(Sender As Object, E As EventArgs)

Dim DBConn as OleDbConnection

Dim DBInsert As New OleDbCommand

DBConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;" _

& "DATA SOURCE=" _

& Server.MapPath("/INetBook/C5/Library/" _

& "Access/C5Library.mdb;"))

DBInsert.CommandText = "Insert Into LibBooks " _

& "(BookTitle, Author, LibBookCategoryID, ISBN, " _

& "Keywords, Description, Status, CheckedOutTo) " _

& "values (" _

& "'" & Replace(txtBookTitle.Text, "'", "''") & "', " _

& "'" & Replace(txtAuthor.Text, "'", "''") & "', " _

& ddlibBookCategoryID.SelectedItem.Value & ", " _

& "'" & Replace(txtISBN.Text, "'", "''") & "', " _

& "'" & Replace(txtKeywords.Text, "'", "''") & "', " _

& "'" & Replace(txtDescription.Text, "'", "''") & "', " _

& "'Доступна', 0)"

DBInsert.Connection = DBConn

DBInsert.Connection.Open

DBInsert.ExecuteNonQuery()

Response.Redirect("./menu.aspx")

End Sub