The following is a list of NetDB Objects and objects as taken from the logical data model. Each bit of logical data is paired with physical column or columns from the physical database. With a skosh more formalization this mapping could be extended to generate most of the simple code for NetDB applications. No one but me understands or appreciates that though.
Notes:
Cardinality reflects the logical data model. Application enforced
business rules may affect the cardinality seen by the user. The
NetDB 3 Objects document includes these business rules.
() == derived or alternative representation
[] == other derived data
{} == key to join with (subscripted with ``i'' if it's in the parent table)
Owner Security Group
bookkeeping(1,1) (date, user)
label(1,1)
description(0,1)
Domain
bookkeeping(1,1) (date, user)
comment(0,1)
name(1,1)
domain(1,1)
owner security group(1,n)
NetDB User
bookkeeping(1,1) (date, user)
{sunetid, regid}(1,1)
active flag(1,1)
last login(0,1)
comment(0,1)
default domain(1,1)
default address space(0,1)
default owner security group(1,1)
all owner flag(1,1)
all access flag(1,1)
owner security group(1,n)
access security group(0,n)
organization(1,n)
official(1,1)
template(0,n)
Network Network.idNetwork
bookkeeping(1,1) (date, user) dtCreated, dwrdCreated
dtModified, dwrdModified
comment(0,1) dsComment
dhcp server(0,1) idDCHPserverNode
dhcp option(0,n) Network_DCHPoptions.cdDHCPoption {idNetwork}
value(0,1) strValue
name(1,n) Name.nmName (nmLower) {idNetwork}
domain(1,1) Domain.fqdnDomain (fqdnLower) {idDomain}i
alias(0,n) Name.nmName (nmLower) {idAliasname}
domain(1,1) Domain.fqdnDomain (fqdnLower) {idDomain}i
owner security group(1,n) Network_Owner.idOwner {idNetwork}
IP address space(0,n) IPaddressSpace.ipAddressSpace (ipBegin) {idNetwork}
comment(0,1) dsComment
net number(1,1) ipAddressSpace (ipBegin) (strAddress)
prefix length(1,1) tntPrefix (?) (strPrefixLength, ipNetmask, strNetmask)
low res(1,1) ipMinRes
high res(1,1) ipMaxRes
[ipBroadcast]
owner security group(0,n) AddressSpace_Owner.idOwner {ipAddressSpace}
dynamic dhcp address(0,n) IPaddress.ipAddress (strIPaddress) {ipAddressSpace}
name(0,n) Name.nmName (nmLower) {ipAddress}
domain(1,1) Domain.fqdnDomain (fqdnLower) {idDomain}i
alias(0,n) Name.nmName (nmLower) {idAliasname}
domain(1,1) Domain.fqdnDomain (fqdnLower) {idDomain}i
dhcp option(0,n) IPaddressSpace_DHCPoptions.cdDHCPoption {ipAddressSpace}
value(0,1) strValue
Admin Team
bookkeeping(1,1) (date, user)
name(1,1)
email(1,1)
phone(1,1)
owner security group(1,n)
member(0,n)
Node
bookkeeping(1,1) (date, user)
owner organization(1,1)
location(1,1)
room(1,1)
owner netdb user(0,1)
expiration date(0,1)
comment(0,1)
model(1,1)
os name(1,n)
os version(0,1)
name(1,n)
domain(1,1)
alias(0,n)
domain(1,1)
mx(0,n)
domain(1,1)
preference(1,1)
owner security group(1,n)
administrator(1,n)
rank(1,1)
type(1,1) [Person, Admin Team]
case (type)
Person:
srvtab access(1,1)
Admin Team:
user(0,n)
node tags(0,n)
label(1,1)
data(0,1)
service(0,n)
type(1,1)
node group(0,n)
type(0,n) [Router, Advanced, ... ]
case (type)
Advanced:
PTR preference(0,1)
DHCP Server:
dhcp option(0,n)
value(0,1)
IP Connectivity Provider:
address(0,n)
name(0,n)
domain(1,1)
alias(0,n)
domain(1,1)
Static IP Client:
address(1,n)
Template:
address space(0,1)
interface(0,n)
rank(1,1)
roaming flag(1,1)
dhcp flag(1,1)
dhcp option(0,n)
value(0,1)
name(0,n)
domain(1,1)
alias(0,n)
domain(1,1)
address(0,n)
active flag(1,1)
name(0,n)
domain(1,1)
alias(0,n)
domain(1,1)
type(1,1) [Ethernet, ...]
case (type)
Ethernet:
hardware address(0,1)
Node Group
bookkeeping(1,1) (date, user)
type(1,1)
comment(0,1)
owner security group(1,n)
name(1,n)
domain(1,1)
alias(0,n)
domain(1,1)
node(0,n)
node group(0,n)
type(1,1)
case (type)
Computer Cluster:
Load-Balanced Name:
CNAME flag(1,1)
TTL(0,1)
reserved name
bookkeeping(1,1) (date, user)
name(1,1)
domain(0,1)
owner security group(0,n)
os [Solaris, Linux, Windows, ...]
bookkeeping(1,1) (date, user)
name(1,1)
desc(0,1)
model [Ultra 10, Centris 650, ...]
bookkeeping(1,1) (date, user)
name(1,1)
make(1,1)
model class(0,1)
model class [PC, Mac, ...]
name(1,1)
desc(0,1)
make [Apple, Dell, Sun, ...]
name(1,1)
location
name(1,1)
site(1,1)
code(1,1)
organization
name(1,1)
consultant
regid(1,1)
orgid(1,1)
primary(1,1)
netdb application controls
-none identified yet-
dhcp options
name(1,1)
data type(1,1)
applicability(0,n)
dhcp option application [Net, ...]
label(1,1)
desc(0,1)
access security group
label(1,1)
description(0,1)
default flag(1,1)
service type
name(1,1)
desc(0,1)
node type
name(1,1)
desc(0,1)
access security group(0,1)
physical interface type
name(1,1)
desc(0,1)
name type
label(1,1)
desc(0,1)