Datadictionary And Database Report

Project nameTarget dbAuthorCopyrightCurrent
example_databasemysql4Robert Allen2004 Allen Technology2004-10-08 03:31
Description: Example database allows for collection of multiple address, phone and email contacts per individual and relationships between people, and division into sub-types of 'friend' or 'enemy'. This example was created for demonstrating the Allen Technology Datadictionary generator.

Generated by Allen Technology DDictXSLT - Copyright 2004 allentech.net

<< Reports Index, Extended Datadictionary

Datadictionary Index

Entity - Attribute - Index Details
Domain Definitions
Entity Relationships
ER Diagram

Entities

acquaintance
address
email_addr
friend
person
person_person
telephone

^Top, Datadictionary Index

Entity: acquaintanceA person known to us but not a friend.(no todo)
AttributeData type / CheckDefault value / Req'dDescriptionTODO
business
VARCHAR, 40
(no check defined)
(no default)
NULL
(no description)(no todo)
comments
Domain: description
TEXT
(no check defined)
(no default)
NOT NULL
(no description)(no todo)
first_impression
VARCHAR, 40
(no check defined)
(no default)
NULL
(no description)(no todo)
how_acquainted
Domain: text_32
VARCHAR, 32
(no check defined)
(no default)
NULL
(no description)(no todo)
PKFKperson_id
INTEGER
(no check defined)
(no default)
NOT NULL
(no description)(no todo)

^Top, Datadictionary Index, Entities Index

Entity: addressPhysical addresses.(no todo)
AttributeData type / CheckDefault value / Req'dDescriptionTODO
addr_1
Domain: text_128
VARCHAR, 128
(no check defined)
(no default)
NOT NULL
A physial address, such as street, box, etc.(no todo)
addr_2
Domain: text_128
VARCHAR, 128
(no check defined)
(no default)
NULL
A second line of address information, optional.(no todo)
addr_3
Domain: text_128
VARCHAR, 128
(no check defined)
(no default)
NULL
A third line of address information, optional.(no todo)
PKaddress_id
INTEGER, AUTONUMBER
(no check defined)
(no default)
NOT NULL
Record unique id used by view_base_class.(no todo)
city
Domain: text_64
VARCHAR, 64
(no check defined)
(no default)
NOT NULL
The city part of the address.(no todo)
description
Domain: text_128
VARCHAR, 128
(no check defined)
none
NOT NULL
Description of uses for this address.(no todo)
label
Domain: text_16
VARCHAR, 16
(no check defined)
(no default)
NOT NULL
Label for this address in lists, ie. 'Home', 'Business', etc.(no todo)
FKperson_id
INTEGER
(no check defined)
(no default)
NOT NULL
(no description)(no todo)
state
Domain: us_state
CHAR, 2
(no check defined)
(no default)
NOT NULL
The state part of the address.(no todo)
zip
Domain: us_zip
VARCHAR, 10
(no check defined)
(no default)
NOT NULL
The zip code of the address.(no todo)
IndexType / SortAttributesDescriptionTODO
IDX_address1
Default
Default
city
state
zip
A multi-attribute index.See how it works.
IDX_address2
FULLTEXT
DESC
description
Full text index, descending.(no todo)

^Top, Datadictionary Index, Entities Index

Entity: email_addrAn email address contact.(no todo)
AttributeData type / CheckDefault value / Req'dDescriptionTODO
description
Domain: text_128
VARCHAR, 128
(no check defined)
none
NOT NULL
Describes intended uses for this email.(no todo)
email
Domain: email
VARCHAR, 64
(no check defined)
(no default)
NOT NULL
The email address.(no todo)
PKemail_addr_id
INTEGER, AUTONUMBER
(no check defined)
(no default)
NOT NULL
(no description)(no todo)
label
Domain: text_16
VARCHAR, 16
(no check defined)
(no default)
NOT NULL
List label for this email, ie. Personal, Business, etc.(no todo)
FKperson_id
INTEGER
(no check defined)
(no default)
NOT NULL
(no description)(no todo)

^Top, Datadictionary Index, Entities Index

Entity: friendPersons who are friends.(no todo)
AttributeData type / CheckDefault value / Req'dDescriptionTODO
anniversary
Domain: date_time
DATETIME
(no check defined)
(no default)
NULL
The persons anniversary.(no todo)
birthday
Domain: date_time
DATETIME
(no check defined)
(no default)
NULL
Person's birthday if known.(no todo)
favorite_color
Domain: text_16
VARCHAR, 16
(no check defined)
(no default)
NULL
(no description)(no todo)
gift_idea
Domain: text_128
VARCHAR, 128
(no check defined)
(no default)
NULL
Ideas for gifts, surprises fro this person.(no todo)
memo
Domain: description
TEXT
(no check defined)
(no default)
NOT NULL
Why we like this person.(no todo)
PKFKperson_id
INTEGER
(no check defined)
(no default)
NOT NULL
(no description)(no todo)

^Top, Datadictionary Index, Entities Index

Entity: personAn individual person. (no todo)
AttributeData type / CheckDefault value / Req'dDescriptionTODO
first_name
Domain: text_32
VARCHAR, 32
(no check defined)
(no default)
NOT NULL
First name, or personal name.See note for 'last_name', same applied here
last_name
Domain: text_32
VARCHAR, 32
(no check defined)
(no default)
NOT NULL
Last name, or family name.Family name is not 'last' name for all cultures, reflect this in all forms and views.
PKperson_id
INTEGER, AUTONUMBER
(no check defined)
(no default)
NOT NULL
Record unique id used by view_base_class.(no todo)
sex
SET, (Male,Female,unknown)
value in(Male,Female,unknown)
(no default)
NOT NULL
The persons sex if known.(no todo)
title
SET, (Mr.,Mrs.,Ms.,Miss,none)
value in(Mr.,Mrs.,Ms.,Miss,none)
(no default)
NOT NULL
Title to precede name in communications.(no todo)
IndexType / SortAttributesDescriptionTODO
IDX_person1
UNIQUE
ASC
last_name
Last name index.See how this works for us.

^Top, Datadictionary Index, Entities Index

Entity: person_personperson-to-person relationsip intersection table (N:M cardinality).(no todo)
AttributeData type / CheckDefault value / Req'dDescriptionTODO
PKFKperson_id1
INTEGER
(no check defined)
(no default)
NOT NULL
Record id of first person.(no todo)
PKFKperson_id2
INTEGER
value(!=person_id1)
(no default)
NOT NULL
Record id of second person, self references disallowed.(no todo)
relationship
Domain: text_32
VARCHAR, 32
(no check defined)
(no default)
NOT NULL
Describes relationship between two persons.(no todo)

^Top, Datadictionary Index, Entities Index

Entity: telephoneA telephone number contact.(no todo)
AttributeData type / CheckDefault value / Req'dDescriptionTODO
description
Domain: text_128
VARCHAR, 128
(no check defined)
none
NOT NULL
Describes uses for this phone, ie. personal, emergency, call times, etc.(no todo)
label
Domain: text_16
VARCHAR, 16
(no check defined)
(no default)
NOT NULL
Label for this phone, ie. 'Personal', 'Business', etc.(no todo)
FKperson_id
INTEGER
(no check defined)
(no default)
NOT NULL
(no description)(no todo)
phone
Domain: us_phone
VARCHAR, 14
(no check defined)
(no default)
NOT NULL
The phone number.(no todo)
PKtelephone_id
INTEGER, AUTONUMBER
(no check defined)
(no default)
NOT NULL
(no description)(no todo)

^Top, Datadictionary Index, Entities Index

Domains

boolean
date_time
description
email
ip_address
number_dec42
number_double
number_int
passwd
text_128
text_16
text_255
text_32
text_64
unix_time
url
us_dollar
us_phone
us_state
us_zip
username

^Top, Datadictionary Index

Domain nameData type / CheckDefault valueDescriptionTODO
boolean
usage: 0
BOOL
value in (1,0)
0Boolean type supported by view_base_class_2(no todo)
date_time
usage: 2
DATETIME
valid date and time value
(no default)DATETIME type supported by view_base_class_2(no todo)
description
usage: 2
TEXT
LENGTH(value)<=4096
(no default)Long text field type supported by view_base_class_2(no todo)
email
usage: 1
VARCHAR, 64
value RLIKE '\w+\@\w+\.\w+' OR value = ''
(no default)email address type supported by view_base_class_2(no todo)
ip_address
usage: 0
VARCHAR, 15
value RLIKE "([0-255\*]\.[0-255\*]\.[0-255\*]\.[0-255\*]])"
(no default)IP address type supported by view_base_class_2(no todo)
number_dec42
usage: 0
DECIMAL, 4, 2
-100.00 < value <100.00
0.00xx.xx numeric string type supported by view_base_class_2(no todo)
number_double
usage: 0
DOUBLE
value is type double
0.0Double precision type supported by view_base_class_2(no todo)
number_int
usage: 0
INTEGER
value RLIKE '[0-9]{0,12}'
(no default)Integer number type supported by view_base_class_2(no todo)
passwd
usage: 0
VARCHAR, 12
value RLIKE '[a-zA-Z_0-9]{5,12}'
(no default)Password type supported by view_base_class_2(no todo)
text_128
usage: 7
VARCHAR, 128
LENGTH(value)<=128
(no default)Text field 128, type supported by view_base_class_2 (no todo)
text_16
usage: 4
VARCHAR, 16
LENGTH(value)<=16
(no default)Text field 16, type supported by view_base_class_2 (no todo)
text_255
usage: 0
VARCHAR, 255
LENGTH(value)<=255
(no default)Text field 255, type supported by view_base_class_2 (no todo)
text_32
usage: 4
VARCHAR, 32
LENGTH(value)<=32
(no default)Text field 32, type supported by view_base_class_2 (no todo)
text_64
usage: 1
VARCHAR, 64
LENGTH(value)<=64
(no default)Text field 64, type supported by view_base_class_2 (no todo)
unix_time
usage: 0
INTEGER
value RLIKE '[0-9]{0,12}'
(no default)Unix timestamp type supported by view_base_class_2 (no todo)
url
usage: 0
VARCHAR, 255
value is valid url
(no default)URL type supported by view_base_class_2 (no todo)
us_dollar
usage: 0
DECIMAL, 12, 2
value RLIKE '^\d*\.\d{2,2}$'
0.00US Dollar type supported by view_base_class_2 (no todo)
us_phone
usage: 1
VARCHAR, 14
value RLIKE '[\d\-\s]*'
(no default)US Phone type supported by view_base_class_2 (no todo)
us_state
usage: 1
CHAR, 2
value in (STATE_ABBR_LIST)
(no default)US State two letter type supported by view_base_class_2 (no todo)
us_zip
usage: 1
VARCHAR, 10
value RLIKE '(\d{5,5}(-\d{4,4}){1,1}'
(no default)US Zip code type supported by view_base_class_2 (no todo)
username
usage: 0
VARCHAR, 12
value RLIKE '[a-zA-Z0-9_]{5,12}'
(no default)User name type supported by view_base_class_2 (no todo)

^Top, Datadictionary Index, Domains Index

Relationships

person_acquaintance
person_address
person_email_addr
person_friend
person_person1
person_person2
person_telephone

^Top, Datadictionary Index

Relationship nameParent / ChildPK - FKDescriptionTODO
person_acquaintance
1:0+, Sub-category
person (super-type)
acquaintance (sub-type)
person_idperson_id
Defines sub-catagory of persons who are friends.(no todo)
person_address
1:0+, Non-Identifying
person (has)
address (of)
person_idperson_id
Relates persons to multiple addresses.(no todo)
person_email_addr
1:1+, Non-Identifying
person (has)
email_addr (of)
person_idperson_id
Relates persons to email addresses.(no todo)
person_friend
1:0+, Sub-category
person (super-type)
friend (sub-type)
person_idperson_id
Defines sub-catagory of persons who are friends.(no todo)
person_person1
1:0+, Identifying
person (related to)
person_person (related to)
person_idperson_id1
Relates first person in person-to-person relationship.(no todo)
person_person2
1:0+, Identifying
person (related to)
person_person (related to)
person_idperson_id2
Relates second person in a person-to-person relationship.(no todo)
person_telephone
1:0+, Non-Identifying
person (has)
telephone (of)
person_idperson_id
Relates persons to telephone numbers.(no todo)

^Top, Datadictionary Index, Relationships Index

ER Diagram

^Top, Datadictionary Index

example_database