KnigkinDom.org» » »📕 Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен

Книгу Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

1 ... 250 251 252 253 254 255 256 257 258 ... 407
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
ASC

) ON [PRIMARY]

) ON [PRIMARY]

GO

Создание таблицы CreditRisks

Финальная таблица CreditRisks будет применяться для представления покупателей, связанных с кредитным риском. Создайте новый запрос, введите следующие команды SQL и щелкните на кнопке Run (или нажмите <F5>):

USE [AutoLot]

GO

CREATE TABLE [dbo].[CreditRisks](

  [Id] [int] IDENTITY(1,1) NOT NULL,

  [FirstName] [nvarchar](50) NOT NULL,

  [LastName] [nvarchar](50) NOT NULL,

  [CustomerId] [int] NOT NULL,

  [TimeStamp] [timestamp] NULL,

 CONSTRAINT [PK_CreditRisks] PRIMARY KEY CLUSTERED

(

    [Id] ASC

) ON [PRIMARY]

) ON [PRIMARY]

GO

Создание отношений между таблицами

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

Создание отношения между таблицами Inventory и Makes

Откройте окно нового запроса, введите показанные далее команды SQL и щелкните на кнопке Run (или нажмите <F5>):

USE [AutoLot]

GO

CREATE NONCLUSTERED INDEX [IX_Inventory_MakeId] ON [dbo].[Inventory]

(

  [MakeId] ASC

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Inventory]

  WITH CHECK ADD  CONSTRAINT [FK_Make_Inventory] FOREIGN

KEY([MakeId])

REFERENCES [dbo].[Makes] ([Id])

GO

ALTER TABLE [dbo].[Inventory] CHECK CONSTRAINT [FK_Make_Inventory]

GO

Создание отношения между таблицами Inventory и Orders

Откройте окно нового запроса, введите следующие команды SQL и щелкните на кнопке Run (или нажмите <F5>):

USE [AutoLot]

GO

CREATE NONCLUSTERED INDEX [IX_Orders_CarId] ON [dbo].[Orders]

(

  [CarId] ASC

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Orders]

  WITH CHECK ADD  CONSTRAINT [FK_Orders_Inventory] FOREIGN

KEY([CarId])

REFERENCES [dbo].[Inventory] ([Id])

GO

ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Inventory]

GO

Создание отношения между таблицами Orders и Customers

Откройте окно нового запроса, введите приведенные ниже команды SQL и щелкните на кнопке Run (или нажмите <F5>):

USE [AutoLot]

GO

CREATE UNIQUE NONCLUSTERED INDEX [IX_Orders_CustomerId_CarId] ON [dbo].[Orders]

(

  [CustomerId] ASC,

  [CarId] ASC

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Orders]

  WITH CHECK ADD  CONSTRAINT [FK_Orders_Customers] FOREIGN

KEY([CustomerId])

REFERENCES [dbo].[Customers] ([Id])

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Customers]

GO

Создание отношения между таблицами Customers и CreditRisks

Откройте окно нового запроса, введите приведенные ниже команды SQL и щелкните на кнопке Run (или нажмите <F5>):

USE [AutoLot]

GO

CREATE NONCLUSTERED INDEX [IX_CreditRisks_CustomerId] ON [dbo].[CreditRisks]

(

  [CustomerId] ASC

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[CreditRisks]

  WITH CHECK ADD  CONSTRAINT [FK_CreditRisks_Customers]

FOREIGN KEY([CustomerId])

REFERENCES [dbo].[Customers] ([Id])

ON DELETE CASCADE

GO

ALTER TABLE [dbo].[CreditRisks] CHECK CONSTRAINT [FK_CreditRisks_Customers]

GO

На заметку! Наличие столбцов FirstName/LastName и отношение с таблицей преследует здесь только демонстрационные цели. В главе 23 они будут задействованы в более интересном сценарии.

Создание хранимой процедуры GetPetName

Позже в главе вы узнаете, как использовать ADO.NET для вызова хранимых процедур. Возможно, вам уже известно, что хранимые процедуры — это подпрограммы кода, хранящиеся внутри базы данных, которые выполняют какие-то действия. Подобно методам C# хранимые процедуры могут возвращать данные или просто работать с данными, ничего не возвращая. Добавьте одиночную хранимую процедуру, которая будет возвращать дружественное имя автомобиля на основе предоставленного carId. Откройте окно нового запроса и введите следующую команду SQL:

USE [AutoLot]

GO

CREATE PROCEDURE [dbo].[GetPetName]

@carID int,

@petName nvarchar(50) output

AS

SELECT @petName = PetName from dbo.Inventory where Id = @carID

GO

Щелкните на кнопке Run (или нажмите <F5>), чтобы создать хранимую процедуру.

Добавление тестовых записей

В отсутствие данных базы данных не особо интересны, поэтому удобно иметь сценарии, которые способны быстро загрузить тестовые записи в базу данных.

Записи таблицы Makes

Создайте новый запрос и выполните показанные далее операторы SQL для добавления записей в таблицу Makes:

USE [AutoLot]

GO

SET IDENTITY_INSERT [dbo].[Makes] ON

INSERT INTO [dbo].[Makes] ([Id], [Name]) VALUES (1, N'VW')

INSERT INTO [dbo].[Makes] ([Id], [Name]) VALUES (2, N'Ford')

INSERT INTO [dbo].[Makes] ([Id], [Name]) VALUES (3, N'Saab')

INSERT INTO [dbo].[Makes] ([Id], [Name]) VALUES (4, N'Yugo')

INSERT INTO [dbo].[Makes] ([Id], [Name]) VALUES (5, N'BMW')

INSERT INTO [dbo].[Makes] ([Id], [Name]) VALUES (6, N'Pinto')

SET IDENTITY_INSERT [dbo].[Makes] OFF

Записи таблицы Inventory

Чтобы добавить записи в таблицу Inventory, создайте новый запрос и выполните следующие операторы SQL:

USE [AutoLot]

GO

SET IDENTITY_INSERT [dbo].[Inventory] ON

GO

INSERT INTO [dbo].[Inventory] ([Id], [MakeId], [Color], [PetName])

 VALUES (1, 1, N'Black', N'Zippy')

INSERT INTO [dbo].[Inventory] ([Id], [MakeId], [Color], [PetName])

 VALUES (2, 2, N'Rust', N'Rusty')

INSERT INTO [dbo].[Inventory] ([Id], [MakeId], [Color], [PetName])

 VALUES (3, 3, N'Black', N'Mel')

INSERT INTO [dbo].[Inventory] ([Id], [MakeId], [Color], [PetName])

 VALUES (4, 4, N'Yellow', N'Clunker')

INSERT INTO [dbo].[Inventory] ([Id], [MakeId], [Color], [PetName])

 VALUES (5, 5, N'Black', N'Bimmer')

INSERT INTO [dbo].[Inventory] ([Id], [MakeId], [Color], [PetName])

 VALUES (6, 5, N'Green', N'Hank')

INSERT INTO [dbo].[Inventory] ([Id], [MakeId], [Color], [PetName])

 VALUES (7, 5, N'Pink', N'Pinky')

INSERT INTO [dbo].[Inventory] ([Id], [MakeId], [Color], [PetName])

 VALUES (8, 6, N'Black', N'Pete')

INSERT INTO [dbo].[Inventory] ([Id], [MakeId], [Color], [PetName])

 VALUES (9, 4, N'Brown',

N'Brownie')SET IDENTITY_INSERT [dbo].[Inventory] OFF

GO

Добавление тестовых записей в таблицу Customers

Чтобы добавить записи в таблицу Customers, создайте новый запрос и выполните представленные ниже операторы SQL:

USE [AutoLot]

GO

SET IDENTITY_INSERT [dbo].[Customers] ON

INSERT INTO [dbo].[Customers] ([Id], [FirstName], [LastName])

 VALUES (1, N'Dave', N'Brenner')

INSERT INTO [dbo].[Customers] ([Id], [FirstName], [LastName])

 VALUES (2, N'Matt', N'Walton')

INSERT INTO [dbo].[Customers] ([Id], [FirstName], [LastName])

 VALUES (3,

1 ... 250 251 252 253 254 255 256 257 258 ... 407
Перейти на страницу:
Отзывы - 0

Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор knigkindom.ru.


Партнер

Новые отзывы

  1. Гость Татьяна Гость Татьяна24 сентябрь 22:20 Как то не очень... Невеста по ошибке. Я не дам тебе развод - Майя Линн
  2. Римма Римма24 сентябрь 21:52 Почему главные героинитпкие идиотки? И сюжет не плохой, и написано хорошо. Но как героиня - так дура дурой.... Хозяйка маленького дома, или Любимая для дракона - Кира Рамис
  3. Римма Римма20 сентябрь 12:27 Много ненужных пояснений и отступлений. Весь сюжет теряет свою привлекательность. Героиня иногда так тупит, что читать не... Хозяйка приюта для перевертышей и полукровок - Елена Кутукова
Все комметарии
Новое в блоге