Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

USE tempdb

GO

DROP VIEW IF EXISTS dbo.vProduct


DROP TABLE IF EXISTS dbo.ProductProperty
DROP TABLE IF EXISTS dbo.PropertyValue
DROP TABLE IF EXISTS dbo.Product
DROP TABLE IF EXISTS dbo.PropertyType

CREATE TABLE dbo.ProductProperty(


ProductID int NOT NULL,
ProductPropertyID int IDENTITY(1,1) NOT NULL,
PropertyTypeID int NULL,
PropertyValueID int NULL,
PropertyValue varchar(200) NULL,
CONSTRAINT PK_ProductProperty PRIMARY KEY CLUSTERED (ProductID,
ProductPropertyID))
GO

CREATE TABLE dbo.PropertyValue(


PropertyValueID int IDENTITY(1,1) NOT NULL,
PropertyValue varchar(100) NOT NULL,
PropertyValueE varchar(100) NULL,
PropertyTypeID int NULL,
CONSTRAINT PK_PropertyValue PRIMARY KEY CLUSTERED (PropertyValueID))
GO

CREATE TABLE dbo.Product(


ProductID int IDENTITY(1,1) NOT NULL,
ProductName varchar(200) NOT NULL,
ProductNameE varchar(200) NULL,
ProductNumber varchar(20) NULL,
ListPrice money NULL,
CONSTRAINT PK_Product PRIMARY KEY CLUSTERED (ProductID))
GO

CREATE TABLE dbo.PropertyType(


PropertyTypeID int IDENTITY(1,1) NOT NULL,
PropertyTypeName varchar(100) NOT NULL,
PropertyTypeNameE varchar(100) NULL,
ParentPropertyID int NULL,
PropertyDateType varchar(20) NULL,
MeasureCode varchar(10) NULL,
FromValue int NULL,
ToValue int NULL)
GO

CREATE VIEW dbo.vProduct AS


SELECT P.*, PPT.PropertyTypeName ParentPropertyTypeName,
PT.PropertyTypeName,
COALESCE(PP.PropertyValue + COALESCE(' ' + PT.MeasureCode,''),
PV.PropertyValue) Property
FROM Product P
LEFT JOIN ProductProperty PP ON P.ProductID = PP.ProductID
LEFT JOIN PropertyType PT ON PP.PropertyTypeID = PT.PropertyTypeID
LEFT JOIN PropertyType PPT ON PT.ParentPropertyID = PPT.PropertyTypeID
LEFT JOIN PropertyValue PV ON PP.PropertyValueID = PV.PropertyValueID
GO
SET IDENTITY_INSERT dbo.Product ON
INSERT dbo.Product (ProductID, ProductName, ProductNameE, ProductNumber, ListPrice)
VALUES (1, N'Whirlpool FFL6238WEE elöltöltős mosógép, 6kg, A+++', NULL, N'FFL 6238
W EE', 119890.0000)
INSERT dbo.Product (ProductID, ProductName, ProductNameE, ProductNumber, ListPrice)
VALUES (2, N'Samsung LC24F390FHRXEN Ívelt Gaming monitor LED VA 24",1800R, Full HD,
FreeSync, Flicker Free, HDMI, Slim, Fekete', NULL, N'LC24F390FHRXEN', 47990.0000)
SET IDENTITY_INSERT dbo.Product OFF
GO

SET IDENTITY_INSERT dbo.ProductProperty ON


INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (1, 1, 13, 17, NULL)
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (1, 2, 14, NULL, N'51')
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (1, 3, 15, 18, NULL)
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (1, 4, 17, 20, NULL)
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (1, 5, 17, 21, NULL)
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (2, 6, 2, 22, NULL)
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (2, 7, 3, NULL, N'20')
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (2, 8, 5, NULL, N'4,9')
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (2, 9, 6, NULL, N'76,9')
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (2, 11, 8, NULL, N'G energiaosztály')
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (2, 12, 9, 14, NULL)
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (2, 13, 11, NULL, N'29')
INSERT dbo.ProductProperty (ProductID, ProductPropertyID, PropertyTypeID,
PropertyValueID, PropertyValue) VALUES (2, 14, 12, NULL, N'5')
SET IDENTITY_INSERT dbo.ProductProperty OFF
GO

SET IDENTITY_INSERT dbo.PropertyType ON


INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (1,
N'Általános jellemzők', N'General properties', NULL, NULL, NULL, NULL, NULL)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (2,
N'Termékcsalád', N'Product Family', 1, N'List', NULL, NULL, NULL)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (3,
N'Energiafogyasztás', N'Energy consuming', 1, N'Int', N'W', 1, 900)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (4,
N'Energiafogyasztás', N'Energy consuming', 1, N'Int', N'KW', 1, 900)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (5,
N'Súly', N'Weight', 1, N'Decimal', N'kg', 0, 500)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (6,
N'Hosszúság', N'Length', 1, N'Decimal', N'mm', 1, 5000)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (7,
N'Hosszúság', N'Length', 1, N'Decimal', N'm', 1, 500)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (8,
N'Energiahatékonysági besorolás', NULL, 1, N'List', NULL, NULL, NULL)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (9,
N'Szín', N'Color', 1, N'List', NULL, NULL, NULL)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (10,
N'Kijelző', N'Display', NULL, NULL, NULL, NULL, NULL)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (11,
N'Átmérő', N'Diameter', 10, N'Decimal', N'inch', 6, 100)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (12,
N'Válaszidő', N'Reaction time', 10, N'Int', N'ms', 1, 200)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (13,
N'Keskeny', N'Narrow', 1, N'List', NULL, NULL, NULL)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (14,
N'Mosás zajszint', N'Washing noise', 1, N'Int', N'dB', NULL, NULL)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (15,
N'Ajtónyitás iránya', N'Door direction', 1, N'List', NULL, NULL, NULL)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (16,
N'Funkciók és biztonság', N'Functions and security', NULL, NULL, NULL, NULL, NULL)
INSERT dbo.PropertyType (PropertyTypeID, PropertyTypeName, PropertyTypeNameE,
ParentPropertyID, PropertyDateType, MeasureCode, FromValue, ToValue) VALUES (17,
N'Tulajdonság', N'Property', 16, N'List', NULL, NULL, NULL)
SET IDENTITY_INSERT dbo.PropertyType OFF
GO

SET IDENTITY_INSERT dbo.PropertyValue ON


INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (1, N'AA++', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (2, N'AA+', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (3, N'AA', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (4, N'BB', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (5, N'CC', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (6, N'DD', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (7, N'EE', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (8, N'FF', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (9, N'GG', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (10, N'HH', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (11, N'II', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (12, N'JJ', NULL, 8)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (13, N'Fehér', N'White', 9)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (14, N'Fekete', N'Black', 9)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (15, N'Piros', N'Red', 9)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (16, N'Igen', N'Yes', 13)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (17, N'Nem', N'No', 13)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (18, N'Bal', N'Left', 15)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (19, N'Jobb', N'Right', 15)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (20, N'Állítható lábak', NULL, 17)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (21, N'Késleltetett indítás', NULL, 17)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (22, N'Gaming', N'Gaming', 2)
INSERT dbo.PropertyValue (PropertyValueID, PropertyValue, PropertyValueE,
PropertyTypeID) VALUES (23, N'Home & Office', N'Home & Office', 2)
SET IDENTITY_INSERT dbo.PropertyValue OFF
GO

SELECT * FROM dbo.vProduct

You might also like