dbTalk Databases Forums  

Designing a structure for a personal database

comp.databases comp.databases


Discuss Designing a structure for a personal database in the comp.databases forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
David Segall
 
Posts: n/a

Default Designing a structure for a personal database - 04-26-2008 , 09:33 AM






I have decided to rewrite a couple of applications that use my
personal information database and I'm looking for ideas on how to
structure a new database for them.

For most purposes I want to communicate with a family or business at
its "home" address. For example, "Fred and Betty Bloggs" or "Acme
Widgets" have a specified street address and telephone number. It is
possible that the Bloggs family has a holiday house or I have to deal
with Acme Widgets at more than one location. I also need information
about individuals such as mobile phone numbers and birthdays but I
don't want to duplicate shared home and business addresses and
telephone numbers. For example, Betty Bloggs could work for Acme
Widgets and share a town house and a country house with Fred.

Please ignore any database structure implied in the preceding
paragraph. I'm looking for the ideal PIM database structure and you
probably understand the requirements better than I do. No doubt you
have been frustrated by the address books in many applications that
insist you supply all the details for every individual.

My excuse for posting in comp.lang.java.databases is that I follow it
and the applications will be written in Java and use Derby as the
database. I confess that the reason is to canvas a wider audience but
I refuse to admit the post is spam.

Reply With Quote
  #2  
Old   
Ed Prochak
 
Posts: n/a

Default Re: Designing a structure for a personal database - 04-28-2008 , 07:46 AM






On Apr 26, 9:33 am, David Segall <da... (AT) address (DOT) invalid> wrote:
Quote:
I have decided to rewrite a couple of applications that use my
personal information database and I'm looking for ideas on how to
structure a new database for them.

For most purposes I want to communicate with a family or business at
its "home" address. For example, "Fred and Betty Bloggs" or "Acme
Widgets" have a specified street address and telephone number. It is
possible that the Bloggs family has a holiday house or I have to deal
with Acme Widgets at more than one location. I also need information
about individuals such as mobile phone numbers and birthdays but I
don't want to duplicate shared home and business addresses and
telephone numbers. For example, Betty Bloggs could work for Acme
Widgets and share a town house and a country house with Fred.

Please ignore any database structure implied in the preceding
paragraph. I'm looking for the ideal PIM database structure and you
probably understand the requirements better than I do.
Sorry, but my crystal ball has been broken for quite some time. Only
you know the requirements for your project. What I would suggest is
that you study database modeling for a bit before beginning to write
the program and database. Look up ERD - Entity Relationship Diagrams
Pick a couple sites that are university based and read the materials.

And always keep in mind that sometimes the same requirements may
result in different designs from different developers Some of the
differences will be merely style differences and others will be
functional differences in areas not detailed in the requirements. As
they often say in the PERL programmers group, there's more than one
way to do it.

Finally, to give you a hint, I would approach this by making
addresses a separate entity, Then both person and business entities
can reference the address entity (e.g. allows a home business) I'll
let your discover the entity you'll need to allow multiple addresses.
(it is not hard.)


Quote:
... No doubt you
have been frustrated by the address books in many applications that
insist you supply all the details for every individual.

My excuse for posting in comp.lang.java.databases is that I follow it
and the applications will be written in Java and use Derby as the
database. I confess that the reason is to canvas a wider audience but
I refuse to admit the post is spam.
ERD development is independent of the DBMS as long as the DBMS is
relational. Using JAVA you may fall into some of the Object Oriented
thinking that sometimes corrupts the relational design. So think
about your DB design carefully.

HTH,
Ed


Reply With Quote
  #3  
Old   
Ed Prochak
 
Posts: n/a

Default Re: Designing a structure for a personal database - 04-28-2008 , 07:46 AM



On Apr 26, 9:33 am, David Segall <da... (AT) address (DOT) invalid> wrote:
Quote:
I have decided to rewrite a couple of applications that use my
personal information database and I'm looking for ideas on how to
structure a new database for them.

For most purposes I want to communicate with a family or business at
its "home" address. For example, "Fred and Betty Bloggs" or "Acme
Widgets" have a specified street address and telephone number. It is
possible that the Bloggs family has a holiday house or I have to deal
with Acme Widgets at more than one location. I also need information
about individuals such as mobile phone numbers and birthdays but I
don't want to duplicate shared home and business addresses and
telephone numbers. For example, Betty Bloggs could work for Acme
Widgets and share a town house and a country house with Fred.

Please ignore any database structure implied in the preceding
paragraph. I'm looking for the ideal PIM database structure and you
probably understand the requirements better than I do.
Sorry, but my crystal ball has been broken for quite some time. Only
you know the requirements for your project. What I would suggest is
that you study database modeling for a bit before beginning to write
the program and database. Look up ERD - Entity Relationship Diagrams
Pick a couple sites that are university based and read the materials.

And always keep in mind that sometimes the same requirements may
result in different designs from different developers Some of the
differences will be merely style differences and others will be
functional differences in areas not detailed in the requirements. As
they often say in the PERL programmers group, there's more than one
way to do it.

Finally, to give you a hint, I would approach this by making
addresses a separate entity, Then both person and business entities
can reference the address entity (e.g. allows a home business) I'll
let your discover the entity you'll need to allow multiple addresses.
(it is not hard.)


Quote:
... No doubt you
have been frustrated by the address books in many applications that
insist you supply all the details for every individual.

My excuse for posting in comp.lang.java.databases is that I follow it
and the applications will be written in Java and use Derby as the
database. I confess that the reason is to canvas a wider audience but
I refuse to admit the post is spam.
ERD development is independent of the DBMS as long as the DBMS is
relational. Using JAVA you may fall into some of the Object Oriented
thinking that sometimes corrupts the relational design. So think
about your DB design carefully.

HTH,
Ed


Reply With Quote
  #4  
Old   
Ed Prochak
 
Posts: n/a

Default Re: Designing a structure for a personal database - 04-28-2008 , 07:46 AM



On Apr 26, 9:33 am, David Segall <da... (AT) address (DOT) invalid> wrote:
Quote:
I have decided to rewrite a couple of applications that use my
personal information database and I'm looking for ideas on how to
structure a new database for them.

For most purposes I want to communicate with a family or business at
its "home" address. For example, "Fred and Betty Bloggs" or "Acme
Widgets" have a specified street address and telephone number. It is
possible that the Bloggs family has a holiday house or I have to deal
with Acme Widgets at more than one location. I also need information
about individuals such as mobile phone numbers and birthdays but I
don't want to duplicate shared home and business addresses and
telephone numbers. For example, Betty Bloggs could work for Acme
Widgets and share a town house and a country house with Fred.

Please ignore any database structure implied in the preceding
paragraph. I'm looking for the ideal PIM database structure and you
probably understand the requirements better than I do.
Sorry, but my crystal ball has been broken for quite some time. Only
you know the requirements for your project. What I would suggest is
that you study database modeling for a bit before beginning to write
the program and database. Look up ERD - Entity Relationship Diagrams
Pick a couple sites that are university based and read the materials.

And always keep in mind that sometimes the same requirements may
result in different designs from different developers Some of the
differences will be merely style differences and others will be
functional differences in areas not detailed in the requirements. As
they often say in the PERL programmers group, there's more than one
way to do it.

Finally, to give you a hint, I would approach this by making
addresses a separate entity, Then both person and business entities
can reference the address entity (e.g. allows a home business) I'll
let your discover the entity you'll need to allow multiple addresses.
(it is not hard.)


Quote:
... No doubt you
have been frustrated by the address books in many applications that
insist you supply all the details for every individual.

My excuse for posting in comp.lang.java.databases is that I follow it
and the applications will be written in Java and use Derby as the
database. I confess that the reason is to canvas a wider audience but
I refuse to admit the post is spam.
ERD development is independent of the DBMS as long as the DBMS is
relational. Using JAVA you may fall into some of the Object Oriented
thinking that sometimes corrupts the relational design. So think
about your DB design carefully.

HTH,
Ed


Reply With Quote
  #5  
Old   
David Segall
 
Posts: n/a

Default Re: Designing a structure for a personal database - 04-28-2008 , 01:33 PM



Ed Prochak <edprochak (AT) gmail (DOT) com> wrote:

Quote:
On Apr 26, 9:33 am, David Segall <da... (AT) address (DOT) invalid> wrote:
I'm looking for the ideal PIM database structure and you
probably understand the requirements better than I do.

Sorry, but my crystal ball has been broken for quite some time. Only
you know the requirements for your project.

Finally, to give you a hint, I would approach this by making
addresses a separate entity, Then both person and business entities
can reference the address entity (e.g. allows a home business) I'll
let your discover the entity you'll need to allow multiple addresses.
(it is not hard.)
Thank you for the hint. Your hint indicates that you don't need a
crystal ball to understand my requirements and that you may have some
useful advice. Why are you so reluctant to give it to me?


Reply With Quote
  #6  
Old   
David Segall
 
Posts: n/a

Default Re: Designing a structure for a personal database - 04-28-2008 , 01:33 PM



Ed Prochak <edprochak (AT) gmail (DOT) com> wrote:

Quote:
On Apr 26, 9:33 am, David Segall <da... (AT) address (DOT) invalid> wrote:
I'm looking for the ideal PIM database structure and you
probably understand the requirements better than I do.

Sorry, but my crystal ball has been broken for quite some time. Only
you know the requirements for your project.

Finally, to give you a hint, I would approach this by making
addresses a separate entity, Then both person and business entities
can reference the address entity (e.g. allows a home business) I'll
let your discover the entity you'll need to allow multiple addresses.
(it is not hard.)
Thank you for the hint. Your hint indicates that you don't need a
crystal ball to understand my requirements and that you may have some
useful advice. Why are you so reluctant to give it to me?


Reply With Quote
  #7  
Old   
David Segall
 
Posts: n/a

Default Re: Designing a structure for a personal database - 04-28-2008 , 01:33 PM



Ed Prochak <edprochak (AT) gmail (DOT) com> wrote:

Quote:
On Apr 26, 9:33 am, David Segall <da... (AT) address (DOT) invalid> wrote:
I'm looking for the ideal PIM database structure and you
probably understand the requirements better than I do.

Sorry, but my crystal ball has been broken for quite some time. Only
you know the requirements for your project.

Finally, to give you a hint, I would approach this by making
addresses a separate entity, Then both person and business entities
can reference the address entity (e.g. allows a home business) I'll
let your discover the entity you'll need to allow multiple addresses.
(it is not hard.)
Thank you for the hint. Your hint indicates that you don't need a
crystal ball to understand my requirements and that you may have some
useful advice. Why are you so reluctant to give it to me?


Reply With Quote
  #8  
Old   
Martin Gregorie
 
Posts: n/a

Default Re: Designing a structure for a personal database - 04-28-2008 , 03:01 PM



On Mon, 28 Apr 2008 18:33:58 +0000, David Segall wrote:

Quote:
Thank you for the hint. Your hint indicates that you don't need a
crystal ball to understand my requirements and that you may have some
useful advice. Why are you so reluctant to give it to me?

Because he gave you the best possible advice already. To amplify what Ed
said:

Only you know how you need to relate addresses, phone numbers, etc, etc to
persons and businesses and whether to model relationships between people
and businesses. If you don't know this already, analyse the data you own
until you do understand it.

Then use that analysis to derive an entity-relationship diagram. Add
attributes to the entities. Decide which are keys. Eliminate derived
attributes. Normalise the result to 3rd normal form. Then and only
then, design and code your schema, adding in the indexes needed to support
prime keys and foreign key relationships.

For your reading pleasure: I don't know who the currently fashionable
database design gurus are, but finding and reading stuff by Chris Date,
especially "An Introduction to Database Systems" volume 1, would be a good
start.


--
martin@ | Martin Gregorie
gregorie. |
org | Zappa fan & glider pilot




Reply With Quote
  #9  
Old   
Martin Gregorie
 
Posts: n/a

Default Re: Designing a structure for a personal database - 04-28-2008 , 03:01 PM



On Mon, 28 Apr 2008 18:33:58 +0000, David Segall wrote:

Quote:
Thank you for the hint. Your hint indicates that you don't need a
crystal ball to understand my requirements and that you may have some
useful advice. Why are you so reluctant to give it to me?

Because he gave you the best possible advice already. To amplify what Ed
said:

Only you know how you need to relate addresses, phone numbers, etc, etc to
persons and businesses and whether to model relationships between people
and businesses. If you don't know this already, analyse the data you own
until you do understand it.

Then use that analysis to derive an entity-relationship diagram. Add
attributes to the entities. Decide which are keys. Eliminate derived
attributes. Normalise the result to 3rd normal form. Then and only
then, design and code your schema, adding in the indexes needed to support
prime keys and foreign key relationships.

For your reading pleasure: I don't know who the currently fashionable
database design gurus are, but finding and reading stuff by Chris Date,
especially "An Introduction to Database Systems" volume 1, would be a good
start.


--
martin@ | Martin Gregorie
gregorie. |
org | Zappa fan & glider pilot




Reply With Quote
  #10  
Old   
Martin Gregorie
 
Posts: n/a

Default Re: Designing a structure for a personal database - 04-28-2008 , 03:01 PM



On Mon, 28 Apr 2008 18:33:58 +0000, David Segall wrote:

Quote:
Thank you for the hint. Your hint indicates that you don't need a
crystal ball to understand my requirements and that you may have some
useful advice. Why are you so reluctant to give it to me?

Because he gave you the best possible advice already. To amplify what Ed
said:

Only you know how you need to relate addresses, phone numbers, etc, etc to
persons and businesses and whether to model relationships between people
and businesses. If you don't know this already, analyse the data you own
until you do understand it.

Then use that analysis to derive an entity-relationship diagram. Add
attributes to the entities. Decide which are keys. Eliminate derived
attributes. Normalise the result to 3rd normal form. Then and only
then, design and code your schema, adding in the indexes needed to support
prime keys and foreign key relationships.

For your reading pleasure: I don't know who the currently fashionable
database design gurus are, but finding and reading stuff by Chris Date,
especially "An Introduction to Database Systems" volume 1, would be a good
start.


--
martin@ | Martin Gregorie
gregorie. |
org | Zappa fan & glider pilot




Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.