Vizuális programozás gyakorlat A gyakorlat célja az entitás modell készítésének és az MS SQLEXPRESS használatának gyakorlása. A gyakorlat során egy könyvtári szoftver adatmodelljét tervezzük meg, valamint elkészítjük néhány részfeladat szoftveres megoldását. 1. Az entitás modell Készítsünk egy osztálykönyvtár típusú projektet Konyvtar_AHR néven, és ebben hozzuk létre az entitás modellt az alábbi az alábbi diagramot követve. Készítsük el a modellt, és hozzuk létre az adatbázist a gépen lokálisan futó SQLEXPRESS adatbáziskezelő segítségével. Figyeljük meg, hogy a Szerzok és a Konyvek táblák között több-több kapcsolat van, és automatikusan létrejött az ehhez szükséges kapcsolótábla KonyvSzerzo néven.
2. Adatfelvitel közvetlenül a táblákba Visual Studio segítségével Vigyünk fel két rekordot a Kiado táblába, egyet a Konyvek táblába, nyolcat a Szerzok táblába és nyolcat a KonyvSzerzo tablába a Visual Studio segítségével az alábbi ábrákat követve.
3. Adatbázis mentése SQL szkriptbe exportálás Mentsük el egy SQL szkriptbe Publish to provider az adatbázist a táblák felépítését és az egyes táblák tartalmát.
4. Adatbázis törlése az SQLEXPRESS-ből Következő feladatként törölni fogjuk az adatbázist, majd újból létrehozzuk azt a lementett SQL szkript segítségével. Ehhez töröljük először Visual Studioban a kapcsolatot jobb egérkattintás a kapcsolaton majd Delete a gyorsmenüben. Nyissunk egy konzolablakot cmd.exe, és írjuk be az alábbi parancsokat:
sqlcmd S.\SQLEXPRESS 1> drop database Konyvtar 2> go 1> exit Alternatív megoldás pl. a Microsoft SQL Server 2008 Management Studio Express használata http://www.microsoft.com/en-us/download/details.aspx?id=7593. 5. Adatbázis betöltése importálás Hozzuk létre Visual Studio segítségével az üres Konyvtar adatbázist az SQLEXPRESS-ben. Nyissuk meg Visual Studioban az előzőekben létrehozott SQL szkriptet, és írjuk be az állomány elejére, hogy a Konyvtar adatbázisban akarjuk létrehozni a korábban lementett táblákat. USE [Konyvtar]; Futtassuk a szkriptet.
A Server Explorerben győződjünk meg róla, hogy a táblák létrejöttek, és a korábban lementett adatok bennük vannak. 6. Adatfelvitel kódból Hozzunk létre a megoldáson belül egy konzol alkalmazás projektet Konyvtar_Adatrogzit néven, amiben C# nyelven vigyünk fel újabb rekordokat az előzőekben is használt három táblába. Referencia a Konyvtar_AHR projektre, a System.Data.Entity szerelvényre. Másoljuk át az osztálykönyvtárból az app.config állományt, és vegyük fel a projektbe. static void Mainstring[] args { conkonyvtar cm = new conkonyvtar; var Szerző = new Szerzo { Vezetéknév = "Reiter", Utónév = "István" }; cm.szerzok.addobjectszerző; var Kiadó = from x in cm.kiadok where x.id == 2 select x.single; var Könyv=new Konyv { Cím = "C# programozás lépésről lépésre", KiadásiÉv = 2012, Kiado = Kiadó, Ár = 2500
} }; Könyv.Szerzok.Addsz; cm.konyvek.addobjectk; Szerző.Konyvek.Addk; cm.savechanges; 7. Lekérdezések Hozzunk létre a megoldáson belül egy konzol alkalmazás projektet Konyvtar_Lekerdez néven, amiben különböző lekérdezéseket hajtunk végre a három táblán. Az egyes kiadóknál megjelent könyvek száma. A könyvek bibliográfiai adatai. conkonyvtar cm=new conkonyvtar; // Az egyes kiadóknál megjelent könyvek száma. Console.WriteLine"Az egyes kiadóknál megjelent könyvek száma\n"; foreach var x in cm.kiadok { Console.WriteLinex.Név+" kiadó, kiadott könyvek száma: "+x.konyvek.count; } Console.WriteLine; // A könyvek bibliográfiai adatai. Console.WriteLine"A könyvek bibbliográfiai adatai\n"; foreach var x in cm.konyvek { // Ha nem az első szerző, akkor kell a neve elé egy vessző. string s = x.szerzok.aggregate"", aggr, akt => aggr + akt!= x.szerzok.elementat0? ", " : "" + akt.vezetéknév + " " + akt.utónév +": "+x.cím + ", " + x.kiado.név + " kiadó, " + x.kiado.székhely + ", " + x.kiadásiév + ", " + x.ár + " Ft.\n"; Console.WriteLines; }
Alternatív megoldás: foreach string s in cm.konyvek.select x => x.szerzok.aggregate"", aggr, akt => aggr + akt!= x.szerzok.elementat0? ", " : "" + akt.vezetéknév + " " + akt.utónév + ": " + x.cím + ", " + x.kiado.név + " kiadó, " + x.kiado.székhely + ", " + x.kiadásiév + ", " + x.ár + " Ft.\n" { Console.WriteLines; } 8. Önálló feladat Gondoskodjunk róla, hogy minden táblába legalább négy rekord kerüljön, és készítsünk komplex lekérdezéseket. Pl: Minden könyv állapota és a rá vonatkozó előjegyzések. Lejárt határidejű kölcsönzések adatai. Előjegyzett könyvek. A szerzők csökkenő sorrendbe rendezve aszerint, hogy kinek hány könyve példány van éppen kikölcsönözve 9. A táblákat és adatokat tartalmazó SQL szkript USE [Konyvtar]; /****** Object: ForeignKey [FK_KonyvPeldanyElojegyzes] Script Date: 11/12/2012 21:20:00 OBJECT_IDN'[dbo].[FK_KonyvPeldanyElojegyzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' ALTER TABLE [dbo].[elojegyzesek] DROP CONSTRAINT [FK_KonyvPeldanyElojegyzes] /****** Object: ForeignKey [FK_UgyfelElojegyzes] Script Date: 11/12/2012 21:20:00 OBJECT_IDN'[dbo].[FK_UgyfelElojegyzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' ALTER TABLE [dbo].[elojegyzesek] DROP CONSTRAINT [FK_UgyfelElojegyzes] /****** Object: ForeignKey [FK_KonyvPeldanyKolcsonzes] Script Date: 11/12/2012 21:20:00 OBJECT_IDN'[dbo].[FK_KonyvPeldanyKolcsonzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' ALTER TABLE [dbo].[kolcsonzesek] DROP CONSTRAINT [FK_KonyvPeldanyKolcsonzes]
/****** Object: ForeignKey [FK_UgyfelKolcsonzes] Script Date: 11/12/2012 21:20:00 OBJECT_IDN'[dbo].[FK_UgyfelKolcsonzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' ALTER TABLE [dbo].[kolcsonzesek] DROP CONSTRAINT [FK_UgyfelKolcsonzes] /****** Object: ForeignKey [FK_KiadoKonyv] Script Date: 11/12/2012 21:20:00 OBJECT_IDN'[dbo].[FK_KiadoKonyv]' AND parent_object_id = OBJECT_IDN'[dbo].[Konyvek]' ALTER TABLE [dbo].[konyvek] DROP CONSTRAINT [FK_KiadoKonyv] /****** Object: ForeignKey [FK_KonyvKonyvPeldany] Script Date: 11/12/2012 21:20:00 OBJECT_IDN'[dbo].[FK_KonyvKonyvPeldany]' AND parent_object_id = OBJECT_IDN'[dbo].[KonyvPeldanyok]' ALTER TABLE [dbo].[konyvpeldanyok] DROP CONSTRAINT [FK_KonyvKonyvPeldany] /****** Object: ForeignKey [FK_SzerzoKonyv_Konyv] Script Date: 11/12/2012 21:20:00 OBJECT_IDN'[dbo].[FK_SzerzoKonyv_Konyv]' AND parent_object_id = OBJECT_IDN'[dbo].[SzerzoKonyv]' ALTER TABLE [dbo].[szerzokonyv] DROP CONSTRAINT [FK_SzerzoKonyv_Konyv] /****** Object: ForeignKey [FK_SzerzoKonyv_Szerzo] Script Date: 11/12/2012 21:20:00 OBJECT_IDN'[dbo].[FK_SzerzoKonyv_Szerzo]' AND parent_object_id = OBJECT_IDN'[dbo].[SzerzoKonyv]' ALTER TABLE [dbo].[szerzokonyv] DROP CONSTRAINT [FK_SzerzoKonyv_Szerzo] /****** Object: ForeignKey [FK_HelysegUgyfel] Script Date: 11/12/2012 21:20:00 OBJECT_IDN'[dbo].[FK_HelysegUgyfel]' AND parent_object_id = OBJECT_IDN'[dbo].[Ugyfelek]' ALTER TABLE [dbo].[ugyfelek] DROP CONSTRAINT [FK_HelysegUgyfel] /****** Object: Table [dbo].[elojegyzesek] Script Date: 11/12/2012 21:20:00 IF EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' AND type in N'U' DROP TABLE [dbo].[elojegyzesek] /****** Object: Table [dbo].[kolcsonzesek] Script Date: 11/12/2012 21:20:00 IF EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' AND type in N'U' DROP TABLE [dbo].[kolcsonzesek] /****** Object: Table [dbo].[konyvpeldanyok] Script Date: 11/12/2012 21:20:00 IF EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[KonyvPeldanyok]' AND type in N'U' DROP TABLE [dbo].[konyvpeldanyok]
/****** Object: Table [dbo].[szerzokonyv] Script Date: 11/12/2012 21:20:00 IF EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[SzerzoKonyv]' AND type in N'U' DROP TABLE [dbo].[szerzokonyv] /****** Object: Table [dbo].[ugyfelek] Script Date: 11/12/2012 21:20:00 IF EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Ugyfelek]' AND type in N'U' DROP TABLE [dbo].[ugyfelek] /****** Object: Table [dbo].[konyvek] Script Date: 11/12/2012 21:20:00 IF EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Konyvek]' AND type in N'U' DROP TABLE [dbo].[konyvek] /****** Object: Table [dbo].[helysegek] Script Date: 11/12/2012 21:20:00 IF EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Helysegek]' AND type in N'U' DROP TABLE [dbo].[helysegek] /****** Object: Table [dbo].[kiadok] Script Date: 11/12/2012 21:20:00 IF EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Kiadok]' AND type in N'U' DROP TABLE [dbo].[kiadok] /****** Object: Table [dbo].[szerzok] Script Date: 11/12/2012 21:20:00 IF EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Szerzok]' AND type in N'U' DROP TABLE [dbo].[szerzok] /****** Object: Table [dbo].[szerzok] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Szerzok]' AND type in N'U' CREATE TABLE [dbo].[szerzok] [Id] [int] IDENTITY1,1 NOT NULL, [Vezetéknév] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [Utónév] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, CONSTRAINT [PK_Szerzok] PRIMARY KEY CLUSTERED [Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, END SET IDENTITY_INSERT [dbo].[szerzok] ON INSERT [dbo].[szerzok] [Id], [Vezetéknév], [Utónév] VALUES 1, N'Novák', N'István' INSERT [dbo].[szerzok] [Id], [Vezetéknév], [Utónév] VALUES 2, N'Fülöp', N'Dávid'
INSERT [dbo].[szerzok] [Id], [Vezetéknév], [Utónév] VALUES 3, N'Petró', N'Emil' INSERT [dbo].[szerzok] [Id], [Vezetéknév], [Utónév] VALUES 4, N'Fár', N'Attila Gergő' INSERT [dbo].[szerzok] [Id], [Vezetéknév], [Utónév] VALUES 5, N'Farkas', N'Bálint' INSERT [dbo].[szerzok] [Id], [Vezetéknév], [Utónév] VALUES 6, N'Turóczy', N'Attila' INSERT [dbo].[szerzok] [Id], [Vezetéknév], [Utónév] VALUES 7, N'Kiss', N'Balázs' INSERT [dbo].[szerzok] [Id], [Vezetéknév], [Utónév] VALUES 8, N'Árvai', N'Zoltán' SET IDENTITY_INSERT [dbo].[szerzok] OFF /****** Object: Table [dbo].[kiadok] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Kiadok]' AND type in N'U' CREATE TABLE [dbo].[kiadok] [Id] [int] IDENTITY1,1 NOT NULL, [Név] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [Székhely] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, CONSTRAINT [PK_Kiadok] PRIMARY KEY CLUSTERED [Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, END SET IDENTITY_INSERT [dbo].[kiadok] ON INSERT [dbo].[kiadok] [Id], [Név], [Székhely] VALUES 1, N'Szak', N'Bicske' INSERT [dbo].[kiadok] [Id], [Név], [Székhely] VALUES 2, N'Jedlik Oktatási Stúdió Kft.', N'Budapest' SET IDENTITY_INSERT [dbo].[kiadok] OFF /****** Object: Table [dbo].[helysegek] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Helysegek]' AND type in N'U' CREATE TABLE [dbo].[helysegek] [Id] [int] IDENTITY1,1 NOT NULL, [Irányítószám] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [Helységnév] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, CONSTRAINT [PK_Helysegek] PRIMARY KEY CLUSTERED [Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, END
/****** Object: Table [dbo].[konyvek] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Konyvek]' AND type in N'U' CREATE TABLE [dbo].[konyvek] [Id] [int] IDENTITY1,1 NOT NULL, [Cím] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [KiadásiÉv] [smallint] NOT NULL, [Ár] [smallint] NOT NULL, [Kiado_Id] [int] NOT NULL, CONSTRAINT [PK_Konyvek] PRIMARY KEY CLUSTERED [Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, END IF NOT EXISTS SELECT * FROM sys.indexes WHERE object_id = OBJECT_IDN'[dbo].[Konyvek]' AND name = N'IX_FK_KiadoKonyv' CREATE NONCLUSTERED INDEX [IX_FK_KiadoKonyv] ON [dbo].[konyvek] [Kiado_Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON SET IDENTITY_INSERT [dbo].[konyvek] ON INSERT [dbo].[konyvek] [Id], [Cím], [KiadásiÉv], [Ár], [Kiado_Id] VALUES 1, N'Windows 8 fejlesztés lépésről lépésre', 2012, 2150, 1 SET IDENTITY_INSERT [dbo].[konyvek] OFF /****** Object: Table [dbo].[ugyfelek] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Ugyfelek]' AND type in N'U' CREATE TABLE [dbo].[ugyfelek] [Id] [int] IDENTITY1,1 NOT NULL, [Vezetéknév] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [Utónév] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [Cím] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [Telefonszám] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [email] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [Jelszó] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [Helyseg_Id] [int] NOT NULL, CONSTRAINT [PK_Ugyfelek] PRIMARY KEY CLUSTERED [Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
END IF NOT EXISTS SELECT * FROM sys.indexes WHERE object_id = OBJECT_IDN'[dbo].[Ugyfelek]' AND name = N'IX_FK_HelysegUgyfel' CREATE NONCLUSTERED INDEX [IX_FK_HelysegUgyfel] ON [dbo].[ugyfelek] [Helyseg_Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON /****** Object: Table [dbo].[szerzokonyv] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[SzerzoKonyv]' AND type in N'U' CREATE TABLE [dbo].[szerzokonyv] [Szerzok_Id] [int] NOT NULL, [Konyvek_Id] [int] NOT NULL, CONSTRAINT [PK_SzerzoKonyv] PRIMARY KEY NONCLUSTERED [Szerzok_Id] ASC, [Konyvek_Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, END IF NOT EXISTS SELECT * FROM sys.indexes WHERE object_id = OBJECT_IDN'[dbo].[SzerzoKonyv]' AND name = N'IX_FK_SzerzoKonyv_Konyv' CREATE NONCLUSTERED INDEX [IX_FK_SzerzoKonyv_Konyv] ON [dbo].[szerzokonyv] [Konyvek_Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON INSERT [dbo].[szerzokonyv] [Szerzok_Id], [Konyvek_Id] VALUES 1, 1 INSERT [dbo].[szerzokonyv] [Szerzok_Id], [Konyvek_Id] VALUES 2, 1 INSERT [dbo].[szerzokonyv] [Szerzok_Id], [Konyvek_Id] VALUES 3, 1 INSERT [dbo].[szerzokonyv] [Szerzok_Id], [Konyvek_Id] VALUES 4, 1 INSERT [dbo].[szerzokonyv] [Szerzok_Id], [Konyvek_Id] VALUES 5, 1 INSERT [dbo].[szerzokonyv] [Szerzok_Id], [Konyvek_Id] VALUES 6, 1 INSERT [dbo].[szerzokonyv] [Szerzok_Id], [Konyvek_Id] VALUES 7, 1 INSERT [dbo].[szerzokonyv] [Szerzok_Id], [Konyvek_Id] VALUES 8, 1 /****** Object: Table [dbo].[konyvpeldanyok] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[KonyvPeldanyok]' AND type in N'U' CREATE TABLE [dbo].[konyvpeldanyok]
[Id] [int] IDENTITY1,1 NOT NULL, [KönyvtáriAzonosító] [nvarchar]max COLLATE Hungarian_CI_AS NOT NULL, [Konyv_Id] [int] NOT NULL, CONSTRAINT [PK_KonyvPeldanyok] PRIMARY KEY CLUSTERED [Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, END IF NOT EXISTS SELECT * FROM sys.indexes WHERE object_id = OBJECT_IDN'[dbo].[KonyvPeldanyok]' AND name = N'IX_FK_KonyvKonyvPeldany' CREATE NONCLUSTERED INDEX [IX_FK_KonyvKonyvPeldany] ON [dbo].[konyvpeldanyok] [Konyv_Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON /****** Object: Table [dbo].[kolcsonzesek] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' AND type in N'U' CREATE TABLE [dbo].[kolcsonzesek] [Id] [int] IDENTITY1,1 NOT NULL, [KivételiIdő] [datetime] NOT NULL, [Lejárat] [datetime] NOT NULL, [MeghosszabbításokSzáma] [smallint] NOT NULL, [Ugyfel_Id] [int] NOT NULL, [KonyvPeldany_Id] [int] NOT NULL, CONSTRAINT [PK_Kolcsonzesek] PRIMARY KEY CLUSTERED [Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, END IF NOT EXISTS SELECT * FROM sys.indexes WHERE object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' AND name = N'IX_FK_KonyvPeldanyKolcsonzes' CREATE NONCLUSTERED INDEX [IX_FK_KonyvPeldanyKolcsonzes] ON [dbo].[kolcsonzesek] [KonyvPeldany_Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON IF NOT EXISTS SELECT * FROM sys.indexes WHERE object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' AND name = N'IX_FK_UgyfelKolcsonzes' CREATE NONCLUSTERED INDEX [IX_FK_UgyfelKolcsonzes] ON [dbo].[kolcsonzesek] [Ugyfel_Id] ASC
WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON /****** Object: Table [dbo].[elojegyzesek] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.objects WHERE object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' AND type in N'U' CREATE TABLE [dbo].[elojegyzesek] [Id] [int] IDENTITY1,1 NOT NULL, [Időpont] [datetime] NOT NULL, [KonyvPeldany_Id] [int] NOT NULL, [Ugyfel_Id] [int] NOT NULL, CONSTRAINT [PK_Elojegyzesek] PRIMARY KEY CLUSTERED [Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, END IF NOT EXISTS SELECT * FROM sys.indexes WHERE object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' AND name = N'IX_FK_KonyvPeldanyElojegyzes' CREATE NONCLUSTERED INDEX [IX_FK_KonyvPeldanyElojegyzes] ON [dbo].[elojegyzesek] [KonyvPeldany_Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON IF NOT EXISTS SELECT * FROM sys.indexes WHERE object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' AND name = N'IX_FK_UgyfelElojegyzes' CREATE NONCLUSTERED INDEX [IX_FK_UgyfelElojegyzes] ON [dbo].[elojegyzesek] [Ugyfel_Id] ASC WITH PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON /****** Object: ForeignKey [FK_KonyvPeldanyElojegyzes] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_IDN'[dbo].[FK_KonyvPeldanyElojegyzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' ALTER TABLE [dbo].[elojegyzesek] WITH CHECK ADD CONSTRAINT [FK_KonyvPeldanyElojegyzes] FOREIGN KEY[KonyvPeldany_Id] REFERENCES [dbo].[konyvpeldanyok] [Id] OBJECT_IDN'[dbo].[FK_KonyvPeldanyElojegyzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' ALTER TABLE [dbo].[elojegyzesek] CHECK CONSTRAINT [FK_KonyvPeldanyElojegyzes]
/****** Object: ForeignKey [FK_UgyfelElojegyzes] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_IDN'[dbo].[FK_UgyfelElojegyzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' ALTER TABLE [dbo].[elojegyzesek] WITH CHECK ADD CONSTRAINT [FK_UgyfelElojegyzes] FOREIGN KEY[Ugyfel_Id] REFERENCES [dbo].[ugyfelek] [Id] OBJECT_IDN'[dbo].[FK_UgyfelElojegyzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Elojegyzesek]' ALTER TABLE [dbo].[elojegyzesek] CHECK CONSTRAINT [FK_UgyfelElojegyzes] /****** Object: ForeignKey [FK_KonyvPeldanyKolcsonzes] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_IDN'[dbo].[FK_KonyvPeldanyKolcsonzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' ALTER TABLE [dbo].[kolcsonzesek] WITH CHECK ADD CONSTRAINT [FK_KonyvPeldanyKolcsonzes] FOREIGN KEY[KonyvPeldany_Id] REFERENCES [dbo].[konyvpeldanyok] [Id] OBJECT_IDN'[dbo].[FK_KonyvPeldanyKolcsonzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' ALTER TABLE [dbo].[kolcsonzesek] CHECK CONSTRAINT [FK_KonyvPeldanyKolcsonzes] /****** Object: ForeignKey [FK_UgyfelKolcsonzes] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_IDN'[dbo].[FK_UgyfelKolcsonzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' ALTER TABLE [dbo].[kolcsonzesek] WITH CHECK ADD CONSTRAINT [FK_UgyfelKolcsonzes] FOREIGN KEY[Ugyfel_Id] REFERENCES [dbo].[ugyfelek] [Id] OBJECT_IDN'[dbo].[FK_UgyfelKolcsonzes]' AND parent_object_id = OBJECT_IDN'[dbo].[Kolcsonzesek]' ALTER TABLE [dbo].[kolcsonzesek] CHECK CONSTRAINT [FK_UgyfelKolcsonzes] /****** Object: ForeignKey [FK_KiadoKonyv] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_IDN'[dbo].[FK_KiadoKonyv]' AND parent_object_id = OBJECT_IDN'[dbo].[Konyvek]' ALTER TABLE [dbo].[konyvek] WITH CHECK ADD CONSTRAINT [FK_KiadoKonyv] FOREIGN KEY[Kiado_Id] REFERENCES [dbo].[kiadok] [Id] OBJECT_IDN'[dbo].[FK_KiadoKonyv]' AND parent_object_id = OBJECT_IDN'[dbo].[Konyvek]' ALTER TABLE [dbo].[konyvek] CHECK CONSTRAINT [FK_KiadoKonyv] /****** Object: ForeignKey [FK_KonyvKonyvPeldany] Script Date: 11/12/2012 21:20:00
IF NOT EXISTS SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_IDN'[dbo].[FK_KonyvKonyvPeldany]' AND parent_object_id = OBJECT_IDN'[dbo].[KonyvPeldanyok]' ALTER TABLE [dbo].[konyvpeldanyok] WITH CHECK ADD CONSTRAINT [FK_KonyvKonyvPeldany] FOREIGN KEY[Konyv_Id] REFERENCES [dbo].[konyvek] [Id] OBJECT_IDN'[dbo].[FK_KonyvKonyvPeldany]' AND parent_object_id = OBJECT_IDN'[dbo].[KonyvPeldanyok]' ALTER TABLE [dbo].[konyvpeldanyok] CHECK CONSTRAINT [FK_KonyvKonyvPeldany] /****** Object: ForeignKey [FK_SzerzoKonyv_Konyv] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_IDN'[dbo].[FK_SzerzoKonyv_Konyv]' AND parent_object_id = OBJECT_IDN'[dbo].[SzerzoKonyv]' ALTER TABLE [dbo].[szerzokonyv] WITH CHECK ADD CONSTRAINT [FK_SzerzoKonyv_Konyv] FOREIGN KEY[Konyvek_Id] REFERENCES [dbo].[konyvek] [Id] OBJECT_IDN'[dbo].[FK_SzerzoKonyv_Konyv]' AND parent_object_id = OBJECT_IDN'[dbo].[SzerzoKonyv]' ALTER TABLE [dbo].[szerzokonyv] CHECK CONSTRAINT [FK_SzerzoKonyv_Konyv] /****** Object: ForeignKey [FK_SzerzoKonyv_Szerzo] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_IDN'[dbo].[FK_SzerzoKonyv_Szerzo]' AND parent_object_id = OBJECT_IDN'[dbo].[SzerzoKonyv]' ALTER TABLE [dbo].[szerzokonyv] WITH CHECK ADD CONSTRAINT [FK_SzerzoKonyv_Szerzo] FOREIGN KEY[Szerzok_Id] REFERENCES [dbo].[szerzok] [Id] OBJECT_IDN'[dbo].[FK_SzerzoKonyv_Szerzo]' AND parent_object_id = OBJECT_IDN'[dbo].[SzerzoKonyv]' ALTER TABLE [dbo].[szerzokonyv] CHECK CONSTRAINT [FK_SzerzoKonyv_Szerzo] /****** Object: ForeignKey [FK_HelysegUgyfel] Script Date: 11/12/2012 21:20:00 IF NOT EXISTS SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_IDN'[dbo].[FK_HelysegUgyfel]' AND parent_object_id = OBJECT_IDN'[dbo].[Ugyfelek]' ALTER TABLE [dbo].[ugyfelek] WITH CHECK ADD CONSTRAINT [FK_HelysegUgyfel] FOREIGN KEY[Helyseg_Id] REFERENCES [dbo].[helysegek] [Id] OBJECT_IDN'[dbo].[FK_HelysegUgyfel]' AND parent_object_id = OBJECT_IDN'[dbo].[Ugyfelek]' ALTER TABLE [dbo].[ugyfelek] CHECK CONSTRAINT [FK_HelysegUgyfel]