昨天我在一个SQL开发人员的位置进行了一次现场采访,面试官问我一个我无法令人信服地回答的问题。如果有人能帮助我找到正确的解决方案,我将不胜感激。
访谈员问:“我有一个应用程序和数据库,需要针对未来的应用程序开发进行规范化。目前,我有一个表(原始),我希望你转换为2个具有父子关系的表(Parent)和孩子)。
Original表的结构如下:
CREATE TABLE [dbo].Original(
ID [varchar](11) NOT NULL,
SourceDatabase [varchar](10) NULL,
CompanyName [varchar](25) NULL,
Address [nvarchar](30) NULL,
City [char](25) NULL,
State [char](2) NULL,
Zip [char](9) NULL
)
--Test Data
INSERT INTO [dbo].[Original]
([ID]
,[SourceDatabase]
,[CompanyName]
,[Address]
,[City]
,[State]
,[Zip])
VALUES
('1000000001','ORACLE', 'Microsoft', '123 ABC', 'EDISON', 'NJ', '10000' )
, ('1000000001','DB2', 'Microsoft', '123 ABC', 'EDISON', 'NJ', '10000' )
, ('1000000024','ORACLE', 'Microsoft', '456 ABC', 'EDISON', 'NJ', '10000' )
, ('1000000035','DB2', 'LinkedIn', '123 ABC', 'Mountain View', 'CA', '10056' )
, ('1000000002','MSSQL', 'GOOGLE', '456 9th Street', 'PROVIDENCE', 'RI', '10001' )
, ('1000000003','MSSQL', 'APPLE', '3100 EAST End Ave,Suite 70729', 'GREENWICH', 'CT', '10002' )
回答以下问题: -
1)定义父表和子表所需的属性是什么
2)LinkedIn是否拥有与Microsoft相同的父ID(LinkedIn是Microsoft的子公司)?
3)样本数据1,2和3是否具有相同的parent_ID? “
谢谢!