2009-07-16 9 views
1

Je ne suis pas un administrateur de base de données. J'ai beaucoup d'expérience dans la récupération de données à partir d'une base de données à des fins de rapport, mais la conception réelle de celui que j'ai peu ou pas d'expérience avec. Donc j'espère que quelqu'un ici pourra me donner des conseils sur la meilleure façon de réaliser ce que j'essaie de faire:Unité Inspection de stockage dans SQL Server DB?

Une partie de la base de données que je dois concevoir est le stockage des inspections des logements et des bâtiments. Un bâtiment a une ou plusieurs unités. Un bâtiment a également des caractéristiques (à l'extérieur des unités comme les escaliers, passerelle, un toit, etc.). Un bâtiment avec une unité est une maison. Un immeuble d'appartements est un bâtiment avec plusieurs unités. Une unité est composée d'espaces (pièces, halls, salon (s), cuisine (s), etc) et les espaces sont constitués de caractéristiques (portes, fenêtres, planchers, plafonds, murs, appareils, prises de courant, etc. tout qui aurait besoin d'être inspecté dans une unité). La mise en place des relations entre ces objets me semble assez simple, mais je dois aussi inclure une sorte d'objet Inspection (s). Les bâtiments et les unités devront être inspectés. Les bâtiments et les unités (qui peuvent contenir plus de 10 000 unités dans une base de données donnée et 100 bâtiments) doivent être en mesure d'effectuer plusieurs inspections (les bâtiments et les unités devront être inspectés au moins une fois par année) à des fins historiques. Une inspection sera essentiellement composée de chaque élément d'un bâtiment ou d'une unité (selon que l'on inspecte une unité ou un bâtiment). Gardez à l'esprit que les fonctionnalités d'une unité et d'un bâtiment peuvent être uniques à cette unité ou bâtiment. Quelle est la meilleure façon d'implémenter les objets Inspection dans la relation Bâtiment/Unité/Espace/Entité dans une base de données SQL Server?

+0

Des données d'inspection sont-elles associées à chaque entité? Est-ce que ces données varient avec le type. Je suppose qu'il y a une sorte de liste de contrôle pour chaque type de fonctionnalité? – djna

+0

Les seules données pour chaque entité seront les mêmes pour chacune: un champ de commentaire, un champ de résultats (Réussite ou Échec) et un champ Date résolue. La liste de contrôle est réelle pour l'unité ou le bâtiment eux-mêmes, et c'est ce que j'essaie de construire avec l'objet Feature, une sorte de liste de contrôle de l'unité/bâtiment dynamtice. Merci, Ben – Bkins

Répondre

0

Personnellement, j'aurais une structure comme:

property 
id INT INCREMENT(1,1) 
name VARCHAR(255) 
... 

inspectionObject 
id INT INCREMENT(1,1) 
name VARCHAR(255) 
... 

propertyInspection 
id INT INCREMENT(1,1) 
date DATETIME 
inspector INT (FK: inspector table) 
propertyID INT (FK: property table) 
... 

propertyInspectionResult 
id INT INCREMENT(1,1) 
inspectionID INT (FK: propertyInspection table) 
inspectionObjectID INT (FK: inspectionObject table) 
resultID INT (FK: result table) 

Quelque chose comme ça devrait être une bonne structure pour aller, il vous permet ensuite d'enregistrer une fois que les détails de chaque inspection, mais ont les nombreux objets pour une inspection également enregistrée. Vous pouvez ensuite effectuer des rapports assez décent en fonction des résultats et ainsi de suite.

Si vous avez besoin de plus amples informations faites le moi savoir.

Matt

+0

Merci Matt! Cependant, j'espérais utiliser l'objet Feature d'une manière ou d'une autre, car c'est ainsi que nous saurons quoi inspecter dans chaque unité et bâtiment. Est-ce que ça a du sens? Merci encore pour l'aide Ben – Bkins

+0

C'est facile, vous créez une table qui énumérerait les caractéristiques, ce lien à la propriété et si l'inspection est de la fonctionnalité au lieu de l'ensemble des locaux, alors la table propertyInspection serait liée à la table des fonctionnalités. – Lima

+0

Je pense que cela pourrait fonctionner! Laissez-moi envelopper mon esprit pendant un moment, mais je pense que cela va fonctionner! Merci mille fois Matt! – Bkins