매우 놀랍지 만 아주 작은 데이터베이스 디자인입니다.
웹 응용 프로그램 용 데이터베이스 디자인을 처음 시작했을 때, 나는 신조를 발견했습니다. 다행스럽게도 내가 사용했던 버팀목은 무료 도구 인 NORMA에서 사용할 수 있습니다.이 도구는 Visual Studio 2008 또는 2005 (2010 년 지원 예정)에서 작동합니다.
나는 당신의 디자인에 대한 빠른 추측을 만들어 다음과 같은 ORM 모델을 가지고 :
이
가 많은 관계로 많은 필요한 접합 테이블을 포함하여 10 개 개의 테이블과 데이터베이스에 LED가.
NORMA 도구는 여러 데이터베이스에 대해 모델에서 DDL을 생성 할 수 있으며 XML 스키마와 LINQ to SQL 개체도 만들 수 있습니다.
BTW, 여기에 생성 된 데이터베이스의 ER 다이어그램 : 당신은 하나의 결과 집합이 모두를 필요로하는 이유
내가 보이지 않는,하지만 여기에있어 내가 생각하기에이 쿼리는 모든 것을 반환 할 수 있습니다. 나는 (왼쪽 가입) 선택되는 경로를 알 수 있도록 ORM 다이어그램을 보면이 쿼리를 생성
SELECT k.KidId, k.Name, k.FavoriteToy,
s.SponsorId, s.Name,
st.SponsorShipTypeCode, st.Description AS SponsortshipTypeDescription,
fw.FieldOfWorkCode, fw.Description AS FieldOfWorkDescription,
Skill.SkillCode, Skill.Description AS SkillDescription,
Parent.ParentId, Parent.Name AS ParentName
FROM Kid k
LEFT OUTER JOIN KidHasParent ON KidHasParent.KidId = k.KidId
INNER JOIN Parent ON Parent.ParentId = KidHasParent.ParentId
LEFT OUTER JOIN KidHasSkill ON KidHasSkill.KidId = k.KidId
INNER JOIN Skill ON Skill.SkillCode = KidHasSkill.SkillCode
LEFT OUTER JOIN Sponsor s ON s.SponsorId = k.SponsorId
INNER JOIN SponsorIsOfSponsorShipType Sst ON Sst.SponsorId = s.SponsorId
INNER JOIN SponsorShipType st ON st.SponsorShipTypeCode = sst.SponsorShipTypeCode
LEFT OUTER JOIN SponsorParticipatesInFieldOfWork sfw ON sfw.SponsorId = s.SponsorId
INNER JOIN FieldOfWork fw ON fw.FieldOfWorkCode = sfw.FieldOfWorkCode
다음 도구 (ApexSQL 편집)을 사용하여 사용 : 나는 데이터를이 테스트하지 않았습니다 조인을 만드는 외래 키. 이것은 10 분이 걸렸다.
모든 아이들을 선택하려면, 함께 포함 된 모든 정보를 원하십니까? 즉 좋아하는 장난감, 기술, 부모 등을 알고 싶습니까? – guildsbounty
@ guildsbounty - SADLY! 나는 모든 정보를 필요로합니다 (Fav Toy, Skills, Parents, Sponsers, 스폰서 십 유형, 작업 분야) 저는 그것이 특별히 감각이 좋지 않다는 것을 알고 있습니다. – lKashef
겁 먹게해서 미안하지만 아주 작은 데이터베이스 디자인입니다. –