Транзакции. Пример оформления отчета по РГЗ. "Проектирование системы распределенной обработки данных"
Скачать 2.46 Mb.
|
2.1 Разработка информационного обеспечения распределенной системы обработки данныхИсходными данными для построения информационно-логической модели предметной области являются результаты анализа предметной области, представленные в виде описания классов объектов и связей между ними. Чаще всего информационно-логическую модель предметной области представляют в терминах семантической модели данных, в виде ER-диаграммы предметной области [5]. Разработанная ER-диаграмма является основой для проектирования даталогической модели базы данных. В результате даталогического моделирования получается логическая структура базы данных, описанная в терминах реляционной модели данных на основе физических записей. Даталогическая модель рассматриваемого примера учета выдачи кредитов клиентам банка представлена на рисунке 1. Рисунок 1 – Даталогическая модель базы данных 2 .1.1 Проектирование физической модели базы данных Физическая модель базы данных представляет собой набор таблиц, созданных посредством написания скриптов на языке SQL. Ниже приведены SQL-команды, описывающие создания объектов базы данных выдачи кредитов клиентам банка: CREATE TABLE [dbo].[Ranks]( [RankId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](128) NOT NULL, [Description] [nvarchar](128) NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[StreetTypes]( [StreetTypeId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](128) NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[Currencies]( [CurrencyId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](64) NOT NULL, [Description] [nvarchar](128) NOT NULL, [Rate] [float] NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[CreditGoals]( [CreditGoalId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](128) NOT NULL, [Description] [nvarchar](256) NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[BillTypes]( [BillTypeId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](128) NOT NULL, [Description] [nvarchar](256) NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[BankTypes]( [BankTypeId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](128) NOT NULL, [Description] [nvarchar](256) NOT NULL ) ON [PRIMARY] C REATE TABLE [dbo].[LocationTypes]( [LocationTypeId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](128) NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[Locations]( [LocationId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](128) NOT NULL, [LocationTypeLocationTypeId] [uniqueidentifier] NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[Streets]( [StreetId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](128) NOT NULL, [StreetTypeStreetTypeId] [uniqueidentifier] NOT NULL, [LocationLocationId] [uniqueidentifier] NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[Addresses]( [AddressId] [uniqueidentifier] NOT NULL, [HouseNumber] [int] NOT NULL, [ApartmentNumber] [int] NOT NULL, [Postcode] [int] NOT NULL, [Street_StreetId] [uniqueidentifier] NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[NaturalPersons]( [NaturalPersonId] [uniqueidentifier] NOT NULL, [FirstName] [nvarchar](64) NOT NULL, [LastName] [nvarchar](64) NOT NULL, [MiddleName] [nvarchar](64) NOT NULL, [BirthDate] [datetime] NOT NULL, [PassportNumber] [nvarchar](64) NOT NULL, [SeriesNumber] [nvarchar](64) NOT NULL, [Issued] [nvarchar](128) NOT NULL, [DateOfIssue] [datetime] NOT NULL, [Address_AddressId] [uniqueidentifier] NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[Banks]( [BankId] [uniqueidentifier] NOT NULL, [Title] [nvarchar](128) NOT NULL, [BIK] [nvarchar](128) NOT NULL, [CorrespondentAccount] [nvarchar](128) NOT NULL, [RegistrationNumber] [nvarchar](128) NOT NULL, [BankTypeBankTypeId] [uniqueidentifier] NOT NULL, [AddressAddressId] [uniqueidentifier] NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[LaborContracts]( [LaborContractId] [uniqueidentifier] NOT NULL, [BeginDate] [datetime] NOT NULL, [EndDate] [datetime] NOT NULL, [Salary] [money] NOT NULL, [RankRankId] [uniqueidentifier] NOT NULL, [BankBankId] [uniqueidentifier] NOT NULL, [NaturalPerson_NaturalPersonId] [uniqueidentifier] NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[Customers]( [CustomerId] [uniqueidentifier] NOT NULL, [TaxNumber] [nvarchar](128) NOT NULL, [NaturalPerson_NaturalPersonId] [uniqueidentifier] NOT NULL ) ON [PRIMARY] CREATE TABLE [dbo].[LoanAgreements]( [LoanAgreementId] [uniqueidentifier] NOT NULL, [Number] [nvarchar](128) NOT NULL, [RegistrationDate] [datetime] NOT NULL, [Amount] [money] NOT NULL, [Period] [int] NOT NULL, [InterestRate] [float] NOT NULL, [MonthlyPayment] [money] NOT NULL, [CustomerCustomerId] [uniqueidentifier] NOT NULL, [CreditGoalCreditGoalId] [uniqueidentifier] NOT NULL, [LaborContract_LaborContractId] [uniqueidentifier] NOT NULL ) ON [PRIMARY] |