Файл: Проектирование и внедрение базы данных агентства по аренде квартир.docx
Добавлен: 11.12.2023
Просмотров: 1507
Скачиваний: 22
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1 Теоретико-методические основы проектирования и внедрения Базы Данных в предприятия
1.1 Общая характеристика баз данных и информационных систем
1.2 Теория реляционных баз данных
1.3 Методы проектирования Базы Данных
2 Глава Проектирование Базы данных и создание программы
2.1Обоснование выбора платформы, создания информационной системы
2.2 Внедрение и проектирования Базы Данных
В результате выполнения курсовой работы была разработана программа на языке Си#, позволяющая арендовать квартиру.В курсовой работе, основываясь на теоретической базе, практически показали на примере “ Агентства по аренде квартир”, как осуществляется процесс внедрения БД ИС. В теоретическом блоке данной работы рассмотрены вопросы общей характеристики баз данных, информационных систем и СУБД, а также методы разработки и внедрения БД ИС.
) ON [PRIMARY]GOCREATE 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]GOCREATE 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]GOCREATE 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]GOCREATE 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]GOCREATE 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]GOALTER TABLE [dbo].[Contract] WITH CHECK ADD CONSTRAINT [FK_Contract_Client1] FOREIGN KEY([IDClient])REFERENCES [dbo].[Client] ([ID])GOALTER TABLE [dbo].[Contract] CHECK CONSTRAINT [FK_Contract_Client1]GOALTER TABLE [dbo].[Contract] WITH CHECK ADD CONSTRAINT [FK_Contract_Employee] FOREIGN KEY([IDEmployee])REFERENCES [dbo].[Employee] ([ID])GOALTER TABLE [dbo].[Contract] CHECK CONSTRAINT [FK_Contract_Employee]GOALTER TABLE [dbo].[Microdistrict] WITH CHECK ADD CONSTRAINT [FK_Microdistrict_City1] FOREIGN KEY([IDCity])REFERENCES [dbo].[City] ([ID])GOALTER TABLE [dbo].[Microdistrict] CHECK CONSTRAINT [FK_Microdistrict_City1]GOALTER TABLE [dbo].[Apartment] WITH CHECK ADD CONSTRAINT [FK_Apartment_Contract] FOREIGN KEY([IDContract])REFERENCES [dbo].[Contract] ([ID])GOALTER TABLE [dbo].[Apartment] CHECK CONSTRAINT [FK_Apartment_Contract]GOALTER TABLE [dbo].[Apartment] WITH CHECK ADD CONSTRAINT [FK_Apartment_Microdistrict] FOREIGN KEY([IDMicrodistrict])REFERENCES [dbo].[Microdistrict] ([ID])GOALTER TABLE [dbo].[Apartment] CHECK CONSTRAINT [FK_Apartment_Microdistrict]GOALTER TABLE [dbo].[Apartment] WITH CHECK ADD CONSTRAINT [FK_Apartment_Owner] FOREIGN KEY([IDOwner])REFERENCES [dbo].[Owner] ([ID])GOALTER TABLE [dbo].[Apartment] CHECK CONSTRAINT [FK_Apartment_Owner]GO
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”.
Список литературы
-
Петцольд, Ч. Программирование для 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]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE 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]GOCREATE 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]GOCREATE 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]GOCREATE 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]GOCREATE 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]GOCREATE 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]GOCREATE 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]GOALTER TABLE [dbo].[Contract] WITH CHECK ADD CONSTRAINT [FK_Contract_Client1] FOREIGN KEY([IDClient])REFERENCES [dbo].[Client] ([ID])GOALTER TABLE [dbo].[Contract] CHECK CONSTRAINT [FK_Contract_Client1]GOALTER TABLE [dbo].[Contract] WITH CHECK ADD CONSTRAINT [FK_Contract_Employee] FOREIGN KEY([IDEmployee])REFERENCES [dbo].[Employee] ([ID])GOALTER TABLE [dbo].[Contract] CHECK CONSTRAINT [FK_Contract_Employee]GOALTER TABLE [dbo].[Microdistrict] WITH CHECK ADD CONSTRAINT [FK_Microdistrict_City1] FOREIGN KEY([IDCity])REFERENCES [dbo].[City] ([ID])GOALTER TABLE [dbo].[Microdistrict] CHECK CONSTRAINT [FK_Microdistrict_City1]GOALTER TABLE [dbo].[Apartment] WITH CHECK ADD CONSTRAINT [FK_Apartment_Contract] FOREIGN KEY([IDContract])REFERENCES [dbo].[Contract] ([ID])GOALTER TABLE [dbo].[Apartment] CHECK CONSTRAINT [FK_Apartment_Contract]GOALTER TABLE [dbo].[Apartment] WITH CHECK ADD CONSTRAINT [FK_Apartment_Microdistrict] FOREIGN KEY([IDMicrodistrict])REFERENCES [dbo].[Microdistrict] ([ID])GOALTER TABLE [dbo].[Apartment] CHECK CONSTRAINT [FK_Apartment_Microdistrict]GOALTER TABLE [dbo].[Apartment] WITH CHECK ADD CONSTRAINT [FK_Apartment_Owner] FOREIGN KEY([IDOwner])REFERENCES [dbo].[Owner] ([ID])GOALTER 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"/>
/// Логика взаимодействия для MainWindow.xaml
///
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
///
| 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; } |
| | } |
| | } |