unit #8 · relational database normalization first normal form (1nf) • unique rows, no...
TRANSCRIPT
Agenda
• Case Study – Database design with input from legacy information systems
• Database Design Process / Data Normalization
• Reading a Database Design
• Database Design – Security Considerations
• Database Design Assignment Review
• Quiz
Case Study – MUDRA CommunicationsWhat legacy database management systems (DBMS) were MUDRA using?
What “new” database management systems (DBMS) were MUDRA considering?
Case Study – MUDRA Communications
What challenges was MUDRA facing in migrating their legacy databases to a new database management platform?
• Indian law required all commercial legacy data be retained for at least 8 years• Joseph needed to decide if all historical data would be migrated to the ES or
preserved in its current form and extracted manually when required by law• Coming up with an approach for doing the data migration
What is the essence of the technical problem of data migration?
Agenda
✓Case Study – Database design with input from legacy information systems
• Database Design Process / Data Normalization
• Reading a Database Design
• Database Design – Security Considerations
• Database Design Assignment Review
• Quiz
Database Design Process
The SDLC cycle includes database analysis activities in all phases
• Entity-Relationship (E-R) and Data Flow modeling dominate planning and analysis phases
• E-R models are inputs to the logical database design, often • Translated into attribute tables
• Linked via primary and foreign key relationships
• Structured within relational database management systems (RDBMS)
Database Design Process - deliverables• Logical database design
• Accounts for every data element input and output by an information system• Normalized tables and
relationships are the primary deliverable
• Physical database design• Tables and Views • Relationships• Attribute domains• Specified in
• Relational database model• Accompanying Data Dictionary
“Relation” = a named, two-dimensional table of data• Each relation consists of a set of named
columns and an arbitrary number of unnamed rows
Relational Tables
• Table• A relation that contains a minimum amount of
redundancy• Allows users to insert, modify, and delete the
rows without errors or inconsistencies
• Primary Key• An attribute whose value is unique across all
occurrences of a relation
• All relations have a primary key• Ensures the rows (i.e. data records) are unique• A primary key often in a single attribute, but
may be composed of multiple attributes (“compound key”)
D_WorkOrder_Type
PK WorkOrderTypeID
Description
Sort
D_WorkOrder_Status
PK WOStatusID
Description
Sort
WorkOrder
PK WOID
FK3 ASRID
WorkOrderNumber
IllicitP
AssignedToID
PriorityID
FK1 WorkOrderTypeID
FK2 WOStatusID
WODescription
WorkNotes
StartDate
EstimatedEndDate
DateCompleted
CloseNotes
Comments
MoreWorkP
AdditionalWorkNotes
Archive
SERVICEREQUEST
SERVICEREQUESTID
SERVICEREQUESTNUMBER
FORMID
DATEOPENED
GENERATEDBY
WORKTYPE
REQUESTDESCR
COUNTYID
MUNICIPALITYID
LOCATIONDESCR
STATEROADID
MAINTENANCEYARDID
NPDESISSUE
ROADPARTID
ROADDIRECTIONID
APRIORITYID
SRSTATUSID
CLOSEDATE
DELAYDATE
WOSEQ
UPDATEDBY
DATEUPDATED
ARCHIVE
FK1 CC_ID
ASR
ASRID
FK1 SRID
ASRNUMBER
DATEOPENED
ASSIGNEDTOID
ASSIGNEDBYID
REQUESTDESCR
LOCATIONDESCR
ADDNOTES
ACTIONID
PRIORITYID
STATUSID
STATUSCOMMENTS
CLOSECOMMENTS
DATECLOSED
DELAYDATE
WOSEQ
ARCHIVE
Data Normalization
A structured process for organizing data into database tables in such a way that it preserves the relationships among the data
Relational Database NormalizationFirst Normal Form (1NF)
• Unique rows, no multivalued attributes• All tables have primary keys. B• “No multivalued attributes” means a table cannot have a field with multiple values. But, as
we saw in chapter 8, it’s possible to define an entity with a multivalued attribute (such as an employee having many skills). Therefore, the original entity may need to be reconstructed into more than one relation.
• All relations are in 1NF
Second Normal Form (2NF)• Each nonprimary key attribute is identified by the whole primary key (called full functional
dependency)
Third Normal Form (3NF)• Nonprimary key attributes do not depend on each other (i.e. no transitive dependencies)
Relational Database NormalizationFirst Normal Form (1NF)
• Unique rows, no multivalued attributes• All tables have primary keys
• “No multivalued attributes” means
• Table cannot have a field with multiple values
• Need to reconstruct this information with more than one table
• All relations (i.e. tables) are in 1NF
0NF 1NF
Relational Database NormalizationSecond Normal Form (2NF)
• Each nonprimary key attribute is identified by the whole primary key, called full functional dependency
4 tables in 2 NF2 tables in 1 NF
1NF -----> 2 NF
Relational Database NormalizationThird Normal Form (3NF)
• Nonprimary key attributes do not depend on each other (i.e. no transitive dependencies)
2NF --------> 3NF
4 tables in 2NF 5 tables in 3NF
Third Normal Form (3NF) continued
• Foreign Key: an attribute that appears as a nonprimary key attribute (or part of a primary key) in one relation and as a primary key attribute in another relation
• Referential Integrity: an integrity constraint specifying that the value (or existence) of an attribute in one relation depends on the value (or existence) of the same attribute in another relation
Relational Database NormalizationWhat foreign keys exist in the final database structure?
2 tables in 1NF1 table in 0NF
0NF --> 1 NF
4 tables in 2NF
1NF -> 2 NF 2 NF -----> 3 NF
5 tables in 3NF
What referential integrity constraints existing in the final database structure?
Agenda
✓Case Study – Database design with input from legacy information systems
✓Database Design Process / Data Normalization
• Reading a Database Design
• Database Design – Security Considerations
• Database Design Assignment Review
• Quiz
Working individually or in teams:
Access the following files available on the MIS Community Site’s Wrap Up post for this class:• Sr-asr-wo_inventory_location_dpl_171304A.pdf• Sr_asr-wo_inventory_location_dpl_071304.vsdx
Analyze the database design model and see if you can determine:
i. What kind of information system is this?i. What are the important data tables?ii. What are the important relationships?iii. What are the important attributes?
ii. What can you figure out about i. How this information system works?ii. Who the users of this information system are?
Prepare a presentation of your findings When you are called on present your findings to the class
Exercise:Reading a database design
Asset
PK AssetID
LocationID
AssetType
Comments
System
PK AssetID
FK2 DataSetID
SysName
SysType
DataSet
PK DataSetID
Inventory
PK InventoryID
FK1 WOID
FK2 DataSetID
Inspection
PK InspectionID
FK1 WOID
InspectorName
InspectionDate
NextInspection
SiltCover
SiltType
Descr
Condition
Description
FK2 DataSetID
Facility
PK AssetID
FK2 DataSetID
FacilityType
FacilityName
CartographicType
Wall
PK,FK1,FK2,FK3 AssetID
PK Type
Thickness
Height
Width
Displacement
HWEWP
Condition
Descr
Vegetation
PK,FK1,FK2,FK3 AssetID
TypeID
Condition
Description
Mark
PK,FK1,FK2,FK3,FK4,FK5,FK6 AssetID
PK Type
MarkedP
Location
Color
System_Facility_XRef
FK1 AssetIDFK2 AssetID
Junction
PK AssetID
PK,FK1 DataSetID
Edge
PK AssetID
PK,FK1 DataSetID
Polygon
PK AssetID
PK,FK1 DataSetID
WO_Item_Xref
FK1 AssetID
FK2 WO_ItemID
FK3 RoadSegmentID
WO_Crew
PK,FK1 WO_ItemID
CrewID
Initials
Supervisor
EstSizeAccessibility
PK,FK1 WO_ItemID
AccessibleP
VisibleP
SubmergedP
Reason
Road_Segment
PK RoadSegmentID
FromMile
ToMile
County
Muncipality
StateRoadID
Lanes
FK1 DataSetID
DataSource
PK DatSetID
Date_InSitu
Date_Loaded
ProjectID
WO_Cost
PK,FK1 WO_ItemID
Cost
Est_Hours
WO_Extent-Amount
PK,FK1 WO_ItemID
Road_Segment
Units
Amount
WO_Item
PK WO_ItemID
FK1 WOID
Item_Type
DateCompleted
Comment
TransactionAudit
PK TAID
EntityType
EntityID
Date
Person
AuditType
POND
FK1 AssetID
PONDTYPEID
OUTLETID
FACILITYCONID
DIAMETERID
INVERTDEPTH
ACREAGE
FLOWDIRECTION
OLOCATIONID
AVGWIDTH
AVGLENGTH
VSIDESLOPE
HSIDESLOPE
MAXELEVATION
DESCR
Elevation
SWALE
FK1 AssetID
FACILITYCONID
MASTERSWALEID
ONMAINTRUNK
TOPWIDTH
BOTTOMWIDTH
SLOPEID
LENGTH
BOTTOMELEV
ACREAGE
DIAMETER
COMMENTS
JUNCTION
FK1 AssetID
FDOTTYPEID
TYPEID
JUNCTIONTYPEID
MATERIALID
DIAMETER
SIZEA
SIZEB
RIMELEVATION
BOTTOMELEVATION
OUTLETID
OUTLETDIAMETER
OUTLETDEPTH
OUTLETFLOW
UNKNOWNEXISTS
UNKNOWNID
UNKNOWNDIAMETER
UNKNOWNDEPTH
UNKNOWNFLOW
DESCR
CHANNEL
FK1 AssetID
FACILITYCONID
CHANNELTYPEID
MATERIALID
ONMAINTRUNK
FLOWDIRECTION
TOPWIDTH
BOTTOMWIDTH
DSDEPTH
DESCR
OutfallP
FK2 WaterBodyID
CONDUIT
FK1 AssetID
FACILITYCONID
ONMAINTRUNK
CONDUITTYPEID
MATERIALID
DIAMETER
SIZEA
SIZEB
INVERTDEPTH
DSCOMPASSDIR
DESCR
OutfallP
FK2 WaterBodyID
ControlStructure
FK1 AssetID
FACILITYCONID
CSTYPEID
MATERIALID
TOPDEPTH
BOTDEPTH
CTRLELEVATION
DESCR
Contract_WO_Project
FK1 WOIDFK2 ContractID
D_WorkOrder_Type
PK WorkOrderTypeID
Description
Sort
D_WorkOrder_Status
PK WOStatusID
Description
Sort
WorkOrder
PK WOID
FK3 ASRID
WorkOrderNumber
IllicitP
AssignedToID
PriorityID
FK1 WorkOrderTypeID
FK2 WOStatusID
WODescription
WorkNotes
StartDate
EstimatedEndDate
DateCompleted
CloseNotes
Comments
MoreWorkP
AdditionalWorkNotes
Archive
SERVICEREQUEST
SERVICEREQUESTID
SERVICEREQUESTNUMBER
FORMID
DATEOPENED
GENERATEDBY
WORKTYPE
REQUESTDESCR
COUNTYID
MUNICIPALITYID
LOCATIONDESCR
STATEROADID
MAINTENANCEYARDID
NPDESISSUE
ROADPARTID
ROADDIRECTIONID
APRIORITYID
SRSTATUSID
CLOSEDATE
DELAYDATE
WOSEQ
UPDATEDBY
DATEUPDATED
ARCHIVE
FK1 CC_ID
ASR
ASRID
FK1 SRID
ASRNUMBER
DATEOPENED
ASSIGNEDTOID
ASSIGNEDBYID
REQUESTDESCR
LOCATIONDESCR
ADDNOTES
ACTIONID
PRIORITYID
STATUSID
STATUSCOMMENTS
CLOSECOMMENTS
DATECLOSED
DELAYDATE
WOSEQ
ARCHIVE
Vertical Datum
PK,FK1 InspectionID
Datum
Units
Issue
PK ActionID
FK1 InspectionID
ActionReq
IssueType
Description
FK2 AssetID
FK3 SERVICEREQUESTID
Floatables
PK,FK1 InspectionID
PK FloatableType
Facility_Spatial_Xref
FK2,FK3,FK4 AssetIDFK2,FK3,FK4 DataSetID CartographicType Scale
Facility_Inventory_Xref
FK1 AssetIDFK2 InventoryID
Annalyte
PK AnnalyteID
Annalyte
Unit
Comments
DryWeatherScreening
PK,FK1 WOID
TestKitID
SampleTemplateList
PK SampleTemplateListID
FK2 SampleTemplateID
FK1 SampleTypeID
Order_R
SampleType
PK SampleTypeID
FK1 AnnalyteID
TEXTRESULTP
MinResult
MaxResult
WarnMinResult
WarnMaxResult
SampleTemplate
PK SampleTemplateID
Description
Comments
SampleEvent
PK SampleEventID
FK1 SampleTemplateID
LocationID
EventDate
EventTime
FieldInvestigator
GridCellNumber
TopoMap
LocationDescription
OutfallDescription
Comments
FK2,FK3 WOID
SampleEventItem
PK SampleEventItemID
FK1 SampleEventID
SampleNumber
Sample
PK SampleID
FK2 SampleTypeID
DATETIMESTAMP
RESULT
TextResultP
Comments
FK1 SampleEventItemID
NonDetectP
DetectValue
UserID
Project
PK ProjectID
Type
BeginDate
EndDate
ConstructionProject
PK,FK1 ProjectID
Create/Modify
Phase
Project_Asset_Xref
FK1 ProjectIDFK2 AssetID
Findings
LitterP Vegetation-overbankP Vegetation-invasiveP ErosionP FenceP SedimentProblemPFK1 InspectionID
Permit
PK PermitID
Type
Permiter
ExternalP
Frequency
Permit_Project_Xref
FK1 PermitIDFK2 ProjectID
NPDES MS4
PK,FK1 PermitID
FM#
Project
SRWMD
PK,FK1 PermitID
FM#
Project
SFWMD_Type
NPDES Construction
PK,FK1 PermitID
FM#
DrainageConnection
PK,FK1 PermitID
Driveway
PK,FK1 PermitID
Permit_Report
PK ReportID
PK,FK3,FK4,FK5 PermitID
ReportDate
ReportType
Report_Blob
Description
ReportURL
Contract
PK ContractID
ContractorID
Contract_Project_Xref
FK1 ProjectID
Contract
FK2 ContractID
Contractor
PK ContractorID
Contract_Contractor_Xref
FK2 ContractID
FK1 ContractorIDIllicitConnectionInspection
PK,FK1 WOID
Description
EnforcementConcern
PK EC_ID
HowGenerated
FK1 WOID
FK2 EmployeeIDCustomerComplaint
PK CC_ID
FK1 RoadSegmentID
Employee
PK EmployeeID
Parcel
PK ParcelID
HighRiskP
DatasetID
Parcel_Permit_Xref
FK1 PermitIDFK2 ParcelID
ReceivingWaterBody
PK WaterBodyID
Name
Type
DatasetID
Parcel_Concern_Xref
FK1 ParcelIDFK2 EC_ID
Complaint_Concern_Xref
FK1 EC_IDFK2 CC_ID
What kind of information system is this?i. What are the important data tables?ii. What are the important relationships?iii. What are the important attributes?
What can you figure out about i. How this information system works?ii. Who the users of this information
system are?
Agenda
✓Case Study – Database design with input from legacy information systems
✓Database Design Process / Data Normalization
✓Reading a Database Design
• Database Design – Security Considerations
• Database Design Assignment Review
• Quiz
Database Design Security considerations
• Almost all organizations maintain one more databases that contain information critical to operations, • e.g. customer information, human resources and benefits information, trade
secrets…
• It is likely many contain personal information that users hold secret, • e.g. bank accounts, beneficiaries, credit card usage activities, expense reports,
telephone records
• IT Auditors must help ensure that this information is identified, categorized, and protected by adequate security controls
General Data Protection Regulation (GDPR)
• Based on beliefs:• Privacy is a fundamental human right• Privacy protection is an essential element in the functioning of democratic societies
• Goals are: 1. To give control back to citizens and residents over their personal data2. To simplify the regulatory environment for international businesses by unifying
regulation within the EU
• Applies to organizations based outside the European Union collecting or processing personal data of EU residents, or exporting EU residents’ personal data outside the EU
Created by the European Parliament, Council of the European Union, and European Commission to strengthen and unify data protection for all individuals within the European Union (EU)
37
Personal data attributes can be classified based on disclosure potential:
• Identifiers. Attributes that unambiguously identify the subject (e.g. passport no., social security no., name-surname, etc.)
• Quasi-identifiers or key attributes. They identify the subject with some ambiguity, but their combination may lead to unambiguous identification (e.g. address, gender, age, tele-phone no., etc.)
• Confidential outcome attributes. They contain sensitive subject information (e.g. salary, religion, diagnosis, etc.)
• Non-confidential outcome attributes. Other attributes which contain non-sensitive subject entity information
Danezis, G. et al. (2014) “Privacy and Data Protection by Design”, European Union Agency for Network and Information Security (ENISA)
38
How to document where data subjects’ personal information is stored and how it is used within a database ?
39
Is personal data identified in the database documentation?
StudentMentor
PK ID
FK2 StudentUserGUID
FK1 MentorUserGUID
Relationship
PrimaryGUID
Teen
PK,FK1 ID
SchoolGrade
GPA
LearningPhase
PermitDate
PermitType
SchoolEnrollmentDate
DEInstructor
DESchool
IsCrashPresent
CrashIssue
IsInjuryPresent
InjuryIssue
IsDeathPresent
DeathIssue
AccessibleVehicleType
Vision
OtherMedicalIssue
AttentionProblem
LearningDisability
NeuroCognitiveFunction
BirthDate
Gender
Race
Ethnicity
AvailabilityStatus
CurrentLoggedDriveNumber
Mentor
PK,FK1 ID
Education
Income
BirthDate
Gender
Race
Ethnicity
AvailabilityStatus
42
A database design for metadata capabilities for tracking changes to sensitive attribute values and their propagation through information system’s data store as part of update processes
SurveyPoints
PK,I1 ID
FK1 DocumentID PointID Northing Easting Elevation DescriptiveCode Surveyor
EntityTypes
PK,I1 ID
FK1 FacilityTypeID Name LogLocation GlobalIDColumnName VersionIDColumnName
AttributeChange_Documents
PK,FK1,I1 AttributeChangeIDPK,FK2,I1 DocumentID
AttributeChange_SurveyPoints
PK,FK1,I1 AttributeChangeIDPK,FK2,I1 SurveyPointID
FacilityTypes
PK,I1 ID
Name Description Abbreviation
Entities
PK,I1 ID
GlobalIDFK1 EntityTypeID UMSID LIFECYCLESTATUS ArcObjectID AIRPORTCODE
AttributeChanges
PK,I1 ID
FK1 EntityChangeID WhichAttribute Accepted AcceptedBy WhenAccepted OldValue NewValue
EntityChange_Documents
PK,FK2,I1 EntityChangeIDPK,FK1,I1 DocumentID
DataStores
PK,I1 ID
Name Description IPAddress DatabaseName CatalogName SchemaName
Publication_EntityChanges
PK,FK2,I1 PublicationIDPK,FK1,I1 EntityChangeID
EntityChange_SurveyPoints
PK,FK1,I1 EntityChangeIDPK,FK2,I1 SurveyPointID
Publications
PK,I1 ID
FK2 SourceDSIDFK1 DestinationDSID WhenInitiated InitiatedBy WhenMovementCompleted WhenReviewed ReviewedBy ReviewWasGood
EntityChanges
PK,I1 ID
FK1 EntityID LogID EventType WhenChanged ChangedBy WhenApproved ApprovedBy Approved VersionName
Documents
PK,I1 ID
Name DocumentType Category SurveyPoints DocumentDate Agency Comment DrawingDocumentName ImageDocumentName SurveyDocumentName TEMPGID TEMPUMSID
IsSensitive?Category
45
Example: Data update propagation documentation Data Development: SQL1
Sources
Staging: SQL1a
Working FinishingNIS
Tracing
FinishingExisting
EntitiesGeneralized_EX.gdb
EntitiesGeneralized_NIS.gdb
Metadata
Publishing
Detailed_DCE
Review ChangesTrack Approvals/RejectionsRollback Rejects
Assign EntityID Track ChangesLoad SourcesLink Sources to Changes
Survey Points
Finishing
Lifecyclestatus = Existing
Documents
Lifecyclestatus = NIS
Lifecyclestatus = ExistingSelect and Generalize Lifecyclestatus = NIS
Select and CopyUpdate VersionIDTrack Publication
Production: SQL2
Review Staging DatasetsSuspend ApplicationCopy to Released DatabaseResume Application
ReleasingTracing
EntitiesGeneralized_EX.gdb
EntitiesGeneralized_NIS.gdb
Detail_DCE
Metadata
Documents
Approved
46
System Architecture
Ap
plic
atio
n S
erve
rC
lien
t o
n
Intr
anet
GIS
Se
rve
rFi
le S
erve
rD
atab
ase
Serv
er
TLS/HTTPSAuthenticated viaESRI Web Adaptor
TLS/HTTPS
SoftwareArcGIS for Server 10.3.1
SoftwareEsri Map Cache 10.3.1
SoftwareEsri File Geodatabase 10.3.1
• Generalized_E.gdb• Generalized_N.gdb• MapSupport.gdb• Detailed.gdbNote: One of each file geodatabase for each location
SoftwareJavaScript
• Edit Spatial Data and Attributes• Assign EntityID & Global-ID• Track Changes• Load Sources• Link Sources to Changes
• Review Changes• Approve/Reject Changes• Rollback Rejected Changes
Aerial Imagery Files
File Geodatabases
Scanned Documents and
Survey Files
GIS Services
Application
Working
ApprovedMetadata
Tracing
Detailed_DCE
Finishing ToolPublishing
Model
Application Service
and Web Adaptor
• Map Services• Feature Services• SOEs• Authentication Service • Print Services
Note: One of each database for each location
SoftwareArcSDE/DBMS 10.3.1/2012SecurityAuthentication: SQL ServerAuthorization: DBMS Role
Protocol: SQL
SoftwareArcGIS for Desktop 10.3.1
SoftwareArcGIS for Desktop 10.3.1
ASP .NET
SoftwareIIS 7.5
ArcGIS 10.3.1
Production SystemDiagram
47
Metadata support for tracking sources of attribute values and their propagation through a complex production information system SurveyPoints
PK,I1 ID
FK1 DocumentID PointID Northing Easting Elevation DescriptiveCode Surveyor
EntityTypes
PK,I1 ID
FK1 FacilityTypeID Name LogLocation GlobalIDColumnName VersionIDColumnName
AttributeChange_Documents
PK,FK1,I1 AttributeChangeIDPK,FK2,I1 DocumentID
AttributeChange_SurveyPoints
PK,FK1,I1 AttributeChangeIDPK,FK2,I1 SurveyPointID
FacilityTypes
PK,I1 ID
Name Description Abbreviation
Entities
PK,I1 ID
GlobalIDFK1 EntityTypeID UMSID LIFECYCLESTATUS ArcObjectID AIRPORTCODE
AttributeChanges
PK,I1 ID
FK1 EntityChangeID WhichAttribute Accepted AcceptedBy WhenAccepted OldValue NewValue
EntityChange_Documents
PK,FK2,I1 EntityChangeIDPK,FK1,I1 DocumentID
DataStores
PK,I1 ID
Name Description IPAddress DatabaseName CatalogName SchemaName
Publication_EntityChanges
PK,FK2,I1 PublicationIDPK,FK1,I1 EntityChangeID
EntityChange_SurveyPoints
PK,FK1,I1 EntityChangeIDPK,FK2,I1 SurveyPointID
Publications
PK,I1 ID
FK2 SourceDSIDFK1 DestinationDSID WhenInitiated InitiatedBy WhenMovementCompleted WhenReviewed ReviewedBy ReviewWasGood
EntityChanges
PK,I1 ID
FK1 EntityID LogID EventType WhenChanged ChangedBy WhenApproved ApprovedBy Approved VersionName
Documents
PK,I1 ID
Name DocumentType Category SurveyPoints DocumentDate Agency Comment DrawingDocumentName ImageDocumentName SurveyDocumentName TEMPGID TEMPUMSID
IsSensitive?Category
48
Assessment questions
SurveyPoints
PK,I1 ID
FK1 DocumentID PointID Northing Easting Elevation DescriptiveCode Surveyor
EntityTypes
PK,I1 ID
FK1 FacilityTypeID Name LogLocation GlobalIDColumnName VersionIDColumnName
AttributeChange_Documents
PK,FK1,I1 AttributeChangeIDPK,FK2,I1 DocumentID
AttributeChange_SurveyPoints
PK,FK1,I1 AttributeChangeIDPK,FK2,I1 SurveyPointID
FacilityTypes
PK,I1 ID
Name Description Abbreviation
Entities
PK,I1 ID
GlobalIDFK1 EntityTypeID UMSID LIFECYCLESTATUS ArcObjectID AIRPORTCODE
AttributeChanges
PK,I1 ID
FK1 EntityChangeID WhichAttribute Accepted AcceptedBy WhenAccepted OldValue NewValue
EntityChange_Documents
PK,FK2,I1 EntityChangeIDPK,FK1,I1 DocumentID
DataStores
PK,I1 ID
Name Description IPAddress DatabaseName CatalogName SchemaName
Publication_EntityChanges
PK,FK2,I1 PublicationIDPK,FK1,I1 EntityChangeID
EntityChange_SurveyPoints
PK,FK1,I1 EntityChangeIDPK,FK2,I1 SurveyPointID
Publications
PK,I1 ID
FK2 SourceDSIDFK1 DestinationDSID WhenInitiated InitiatedBy WhenMovementCompleted WhenReviewed ReviewedBy ReviewWasGood
EntityChanges
PK,I1 ID
FK1 EntityID LogID EventType WhenChanged ChangedBy WhenApproved ApprovedBy Approved VersionName
Documents
PK,I1 ID
Name DocumentType Category SurveyPoints DocumentDate Agency Comment DrawingDocumentName ImageDocumentName SurveyDocumentName TEMPGID TEMPUMSID
IsSensitive?Category
Entities
PK,I1 ID
GlobalIDFK1 EntityTypeID UMSID LIFECYCLESTATUS ArcObjectID AIRPORTCODE
AttributeChanges
PK,I1 ID
FK1 EntityChangeID WhichAttribute Accepted AcceptedBy WhenAccepted OldValue NewValue
EntityChanges
PK,I1 ID
FK1 EntityID LogID EventType WhenChanged ChangedBy WhenApproved ApprovedBy Approved VersionName
IsSensitive?Category
Which entities (if any) are data subject entities?
Do changes pertain to a data subject’s personal data records?
Do the changes pertain to a data subject’s personal data attribute values? If so, which ones?
If so, how are the changes reported on, updated, access blocked, restricted, or deleted based on a data subject’s request?
49
GDPR assessment questions
SurveyPoints
PK,I1 ID
FK1 DocumentID PointID Northing Easting Elevation DescriptiveCode Surveyor
EntityTypes
PK,I1 ID
FK1 FacilityTypeID Name LogLocation GlobalIDColumnName VersionIDColumnName
AttributeChange_Documents
PK,FK1,I1 AttributeChangeIDPK,FK2,I1 DocumentID
AttributeChange_SurveyPoints
PK,FK1,I1 AttributeChangeIDPK,FK2,I1 SurveyPointID
FacilityTypes
PK,I1 ID
Name Description Abbreviation
Entities
PK,I1 ID
GlobalIDFK1 EntityTypeID UMSID LIFECYCLESTATUS ArcObjectID AIRPORTCODE
AttributeChanges
PK,I1 ID
FK1 EntityChangeID WhichAttribute Accepted AcceptedBy WhenAccepted OldValue NewValue
EntityChange_Documents
PK,FK2,I1 EntityChangeIDPK,FK1,I1 DocumentID
DataStores
PK,I1 ID
Name Description IPAddress DatabaseName CatalogName SchemaName
Publication_EntityChanges
PK,FK2,I1 PublicationIDPK,FK1,I1 EntityChangeID
EntityChange_SurveyPoints
PK,FK1,I1 EntityChangeIDPK,FK2,I1 SurveyPointID
Publications
PK,I1 ID
FK2 SourceDSIDFK1 DestinationDSID WhenInitiated InitiatedBy WhenMovementCompleted WhenReviewed ReviewedBy ReviewWasGood
EntityChanges
PK,I1 ID
FK1 EntityID LogID EventType WhenChanged ChangedBy WhenApproved ApprovedBy Approved VersionName
Documents
PK,I1 ID
Name DocumentType Category SurveyPoints DocumentDate Agency Comment DrawingDocumentName ImageDocumentName SurveyDocumentName TEMPGID TEMPUMSID
IsSensitive?Category
If so, how are they reported on, updated, access blocked, restricted, or deleted based on a data subject’s request?
AttributeChange_Documents
PK,FK1,I1 AttributeChangeIDPK,FK2,I1 DocumentID
Entities
PK,I1 ID
GlobalIDFK1 EntityTypeID UMSID LIFECYCLESTATUS ArcObjectID AIRPORTCODE
AttributeChanges
PK,I1 ID
FK1 EntityChangeID WhichAttribute Accepted AcceptedBy WhenAccepted OldValue NewValue
EntityChange_Documents
PK,FK2,I1 EntityChangeIDPK,FK1,I1 DocumentID
EntityChanges
PK,I1 ID
FK1 EntityID LogID EventType WhenChanged ChangedBy WhenApproved ApprovedBy Approved VersionName
Documents
PK,I1 ID
Name DocumentType Category SurveyPoints DocumentDate Agency Comment DrawingDocumentName ImageDocumentName SurveyDocumentName TEMPGID TEMPUMSID
Do the documents contain sensitive personal data records?
50
Agenda
✓Case Study – Database design with input from legacy information systems
✓Database Design Process / Data Normalization
✓Reading a Database Design
✓Database Design – Security Considerations
• Database Design Assignment Review
• Quiz
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Unit Assignment
Package
Pickup
Delivery
Location
DeliveryVan
Customer
Warehouse
Employee
Payment
Monthly-Statement
Bill
Order
Shipment
Van-Trip
PACKAGE-IDPK
Ready-TF
Weight
PICKUP-IDPK
Scheduled-Pickup-Time
Time-PickedUp
DELIVERY-IDPK
Scheduled-Delivery-Time
Signature
LOCATION-IDPK
Address
CityVAN-IDPK
Origin
Destination
CUSTOMER-IDPK
Regular-TF
Type (Bus. | Indiv.)
ScanBarCode
WAREHOUSE-IDPK
Time-Arrived
Time-Departed
EMPLOYEE-IDPK
Role
Name
PAYMENT-IDPK
Cash-Check-CreditCard
PaymentAmount
Primary-Contact-Name
STATEMENT-IDPK
Total-Cost
Last-Bill-Date
Paid-Date
Balance
BILL-IDPK
Total-Cost
Paid-TF
PaymentDate
ORDER-IDPK
Date-Time_OrderPlaced
CustomerFK
Status
Time-Delivered
ReceiptDate
Delivery-Employee
Warehouse-EmployeeFK
SHIPMENT-IDPK
PICKUPFK
DELIVERYFK
SHIPMENT-IDFK
Driver
WAREHOUSEFK
TRIP-IDPK
Van
Driver
Origin
Destination
State
Zip Code
Telephone
CustomerFK
CustomerFK
CustomerFK
ShipmentFK
OrderFK
TRIP-IDFK
Quiz
Which one of the following database key types is used to enforce referential integrity relationships between tables?
a. Primary keyb. Candidate keyc. Foreign keyd. Master key
Which of the following database keys is used by a DBMS to uniquely identify each row in a database table?
a. Foreign keyb. Primary keyc. Candidate keyd. Referential key