Файл: Проектирование и внедрение базы данных агентства по аренде квартир.docx
Добавлен: 11.12.2023
Просмотров: 347
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1 Теоретико-методические основы проектирования и внедрения Базы Данных в предприятия
1.1 Общая характеристика баз данных и информационных систем
1.2 Теория реляционных баз данных
1.3 Методы проектирования Базы Данных
2 Глава Проектирование Базы данных и создание программы
2.1Обоснование выбора платформы, создания информационной системы
2.2 Внедрение и проектирования Базы Данных
В результате выполнения курсовой работы была разработана программа на языке Си#, позволяющая арендовать квартиру.
В курсовой работе, основываясь на теоретической базе, практически показали на примере “ Агентства по аренде квартир”, как осуществляется процесс внедрения БД ИС. В теоретическом блоке данной работы рассмотрены вопросы общей характеристики баз данных, информационных систем и СУБД, а также методы разработки и внедрения БД ИС.
Список литературы
-
Петцольд, Ч. Программирование для Microsoft Windows 8. Разработка приложений для Windows Store на С# и XAML / Ч. Петцольд. - СПб.: Питер, 2015. - 352 c. -
Аллен, Г. Тейлор SQL для чайников / Аллен Г. Тейлор. - М.: Диалектика, Вильямс, 2015. - 416 c. -
Проектирование и реализация баз данных Microsoft SQL Server 2000. Учебный курс MCSE (+ CD-ROM). - М.: Русская Редакция, 2017. - 664 c. -
Дунаев, В. В. Базы данных. Язык SQL для студента / В.В. Дунаев. - М.: БХВ-Петербург, 2017. - 288 c. -
Рихтер, Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C# / Дж. Рихтер. - СПб.: Питер, 2019. - 896 c. -
Гриффитс, И. Программирование на C# 5.0 / И. Гриффитс. - М.: ЭКСМО, 2016. - 208 c. -
Васильев, А.Н. Программирование на C# для начинающих. Особенности языка / А.Н. Васильев. - М.: ЭКСМО, 2017. - 128 c. -
Диго С.М. БАЗЫ ДАННЫХ. ПРОЕКТИРОВАНИЕ И СОЗДАНИЕ: Учебно- методический комплекс. – М.: Изд. центр ЕАОИ. 2008. – 171 с. -
Дунаев В. В. Базы данных. Язык SQL для студента; БХВ -Петербург - Москва, 2013. - 288 c. -
Боб Уорд (Bob Ward) Инновации SQL Server 2019. Использование технологий больших данных и машинного обучения / пер. с англ. Желновой Н. Б. – М.: ДМК Пресс, 2020. – 408 с.
Приложение 1
Скрипт Базы Данных
USE [Kursov]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Apartment](
[ID] [int] NOT NULL,
[Titles] [nvarchar](500) NULL,
[Descriptions] [nvarchar](500) NULL,
[Price] [int] NULL,
[Photo] [nvarchar](500) NULL,
[IDOwner] [int] NOT NULL,
[Room] [int] NULL,
[Square] [int] NULL,
[Floor] [int] NULL,
[Address] [nvarchar](100) NULL,
[NumberFloors] [int] NULL,
[IDContract] [int] NOT NULL,
[IDMicrodistrict] [int] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Owner](
[ID] [int] NOT NULL,
[FullName] [nvarchar](100) NOT NULL,
[Series] [int] NULL,
[Room] [int] NULL,
[Address] [nvarchar](100) NULL,
[Phone] [varchar](50) NULL,
[Email] [nvarchar](100) NOT NULL,
[DataBirth] [datetime] NULL,
[IssuedBy] [nvarchar](100) NULL,
[DataIssue] [datetime] NULL,
[DataRegistr] [datetime] NULL,
CONSTRAINT [PK_Owner] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Microdistrict](
[ID] [int] NOT NULL,
[Microdistrict] [nvarchar](50) NULL,
[IDCity] [int] NULL,
CONSTRAINT [PK_Microdistrict] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[City](
[ID] [int] NOT NULL,
[CityNames] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_City] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Employee](
[ID] [int] NOT NULL,
[FullName] [nvarchar](100) NULL,
[Position] [nvarchar](50) NULL,
CONSTRAINT [PK_Employee] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Contract](
[ID] [int] NOT NULL,
[Data] [datetime] NULL,
[IDEmployee] [int] NULL,
[IDClient] [int] NULL,
[AddInformation] [nvarchar](100) NULL,
CONSTRAINT [PK_Contract_1] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Client](
[ID] [int] NOT NULL,
[FullName] [nvarchar](50) NOT NULL,
[Series] [int] NULL,
[Number] [int] NULL,
[Address] [nvarchar](100) NOT NULL,
[DataRegistr] [datetime] NULL,
[Phone] [int] NULL,
[Email] [nvarchar](100) NOT NULL,
[DataBirth] [datetime] NULL,
[IssuedBy] [nvarchar](100) NULL,
[DataIssue] [datetime] NULL,
CONSTRAINT [PK_Client] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Contract] WITH CHECK ADD CONSTRAINT [FK_Contract_Client1] FOREIGN KEY([IDClient])
REFERENCES [dbo].[Client] ([ID])
GO
ALTER TABLE [dbo].[Contract] CHECK CONSTRAINT [FK_Contract_Client1]
GO
ALTER TABLE [dbo].[Contract] WITH CHECK ADD CONSTRAINT [FK_Contract_Employee] FOREIGN KEY([IDEmployee])
REFERENCES [dbo].[Employee] ([ID])
GO
ALTER TABLE [dbo].[Contract] CHECK CONSTRAINT [FK_Contract_Employee]
GO
ALTER TABLE [dbo].[Microdistrict] WITH CHECK ADD CONSTRAINT [FK_Microdistrict_City1] FOREIGN KEY([IDCity])
REFERENCES [dbo].[City] ([ID])
GO
ALTER TABLE [dbo].[Microdistrict] CHECK CONSTRAINT [FK_Microdistrict_City1]
GO
ALTER TABLE [dbo].[Apartment] WITH CHECK ADD CONSTRAINT [FK_Apartment_Contract] FOREIGN KEY([IDContract])
REFERENCES [dbo].[Contract] ([ID])
GO
ALTER TABLE [dbo].[Apartment] CHECK CONSTRAINT [FK_Apartment_Contract]
GO
ALTER TABLE [dbo].[Apartment] WITH CHECK ADD CONSTRAINT [FK_Apartment_Microdistrict] FOREIGN KEY([IDMicrodistrict])
REFERENCES [dbo].[Microdistrict] ([ID])
GO
ALTER TABLE [dbo].[Apartment] CHECK CONSTRAINT [FK_Apartment_Microdistrict]
GO
ALTER TABLE [dbo].[Apartment] WITH CHECK ADD CONSTRAINT [FK_Apartment_Owner] FOREIGN KEY([IDOwner])
REFERENCES [dbo].[Owner] ([ID])
GO
ALTER TABLE [dbo].[Apartment] CHECK CONSTRAINT [FK_Apartment_Owner]
GO
Приложение 2
Листинг программы
Окно в WPF “MainWindow.xaml”.
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Kursov"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
Margin="10,0,0,10" Name="tbLog"/>
Content="Логин"/>
Margin="10,0,0,10" Name="tbPass"/>
Content="Пароль"/>
x:Name="btIn" Click="btIn_Click"/>
Окно в WPF кода “MainWindow.xaml.cs”.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Kursov
{
///
/// Логика взаимодействия для MainWindow.xaml
///
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
tbPass.Password = "admin";
tbPass.PasswordChar = '*';
tbLog.Text = "admin";
}
private void btIn_Click(object sender, RoutedEventArgs e)
{
if (tbPass.Password == "admin" && tbLog.Text == "admin")
{
Forms.Apartment menuForm = new Forms.Apartment();
menuForm.Show();
this.Close();
}
}
}
}
“Apartment.xaml”.
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Kursov.Forms"
mc:Ignorable="d"
Title="Apartment" Height="450" Width="800">
RenderTransformOrigin="0.5,0.5"
Click="btHome_Click"
>
Width="100" Grid.Row="0" Grid.Column="0" Grid.RowSpan="4"
>
Text="{Binding Address}" />
“Apartment.xaml.cs”.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace Kursov.Forms
{
///
/// Логика взаимодействия для Apartment.xaml
///
public partial class Apartment: Window
{
public Apartment ()
{
InitializeComponent();
bv.KursovEntities entities = new bv.KursovEntities();
lbServis.ItemsSource = entities.Apartment.ToList();
}
private void btHome_Click(object sender, RoutedEventArgs e)
{
MainWindow menuFotr = new MainWindow();
menuFotr.Show();
this.Close();
}
}
}
“Apartment.cs”.
namespace Kursov.bv | |
| { |
| using System; |
| using System.Collections.Generic; |
| |
| public partial class Apartment |
| { |
| public int ID { get; set; } |
| public string Titles { get; set; } |
| public string Descriptions { get; set; } |
| public Nullable |
| public string Photo { get; set; } |
| public int IDOwner { get; set; } |
| public Nullable |
| public Nullable |
| public Nullable |
| public string Address { get; set; } |
| public int NumberFloors { get; set; } |
| public Nullable |
| public int IDMicrodistrict { get; set; } |
| |
| public virtual Contract Contract { get; set; } |
| public virtual Microdistrict Microdistrict { get; set; } |
| public virtual Owner Owner { get; set; } |
| } |
| } |