Is phone number an entity or an attribute?

Short answer: it depends.

At first I would say it is an attribute but…

if you need to:

– have many different kinds of phone numbers and you cannot say how many (0-n) and maybe the type of the number varies in different cases (home number for a person, office number for a company, fax number for both) and maybe the types for phone number do not remain the same

– have history data for the numbers (which number was valid at certain time)

or something similar.

You might actually have an entity in hands.

Or if you know there might be max four phone numbers but two of them are mandatory, we come back to the conclusion it is an attribute.

So it depends on the requirements weather phone number is an attribute or an entity.

OUGF Harmony in June

I am so excited about the coming Harmony conference! It will be awesome!

Many of the top speakers in the world in a middle of a Finnish forest sharing their knowledge and experience. Amazing!

We will have topics on database, DW/BI, application development,…

Plenty of ACE Directors, ACEs and ACE Associates. The Oaktable World. RACAttack (special sauna edition!). Roundtables, sessions,…

Dinner outside by a lake (#DineWHeli :-)). Sauna, swimming in a lake.

Several excellent keynotes. 6 tracks + 3 tracks in tents.

And last but not least THE C.J.Date will give a seminar on Temporal Data in the Relational Model and SQL.

And all this on the same fee!

Who can afford to miss this?!

 

Register NOW:

http://www.eventbrite.com/e/ougf-2014-harmony-tickets-10410222255

 

I do not want to see the FK names in my relational diagram

What should I do?

Simple. Just select from top bar View -> View details and select what you want to see. If you take All details you will see all details, including the FK names. All details is the default so go and see what is your preferred setting for information in relational diagram! This can be changes when ever you want. Hundred times a day if wanted:)

Is social security number a good primary key?

Short answer: no.

Why? Well I can give you at least 10 reasons but just to start with….

– social security number (SSN) is not unique, at least not world wide

– it does not identify a person (for instance my father has two social security numbers, exceptional but possible)

– it can be changed: you come to another country and are given a temporary SSN. You get the citizenship and get the real one. Changed.  There are plenty of cases when the SSN is changed.

– it is not something you can define yourself, it comes from another system and is controlled by other organization and their rules. What if they change the rules? Do not have PKs from another system’s data (history data etc)

– it is many times defined as sensitive data. It will be quit a job to get reduction or masking done to all the columns in child tables.

etc.

I prefer natural primary keys over surrogates but social security number is not one. So please save your time and energy and do not define SSN as a primary key.

EOUC presidents’ meeting next month

The next four weeks I will only travel inside Finland to speak in various Oracle events but May 20th I will fly to Sofia, Bulgaria for the EOUC presidents’ meeting.

EOUC stands for EMEA Oracle Usergroups Community and I am one of the two ambassadors/spokespersons for the Community. It is about the time to start preparing the meeting on behalf of the user groups. Most of the content for the meeting comes from Oracle but we also have some slots of our own. And since those slots are not big they must be used wisely and prepared well.

I already know people want to share best practices, talk about their issues, share the information on their future events and speakers. They want to know about the different tours we are planning in EMEA, vote for the new logo for the EOUC, hear about the OOW14 preparations and to meet each others. What else would be valuable?

Data Modeler 4.0.1

Have you tried it yet?

Please do so! This version is the best so far. So many new features and improvements. I asked for many things for this version but totally forgot them. Now to my surprise they are here. And why am I surprised because I know the best team is working on Data Modeler!

Design level properties (used to be on preferences) in right place, handling sensitive information, masking, …

On the next version I want to see synonyms working so I better start telling the best team in Oracle what I want…

Adding a new Database Site

You probably want to have database sites with names you understand or you might want to have several physical models for same technology (Oracle 11g, Oracle 12c, …) maybe for test and production. Whatever the reason is you might want to have database sites that do not exist in Data Modeler already. How to do that?

Go to Tools -> RDBMS Sites Administration

Press Add site: define the name and select the technology (RDBMS Type)

Apply

Close

Now you will have the newly created site on your list of Database Sites when creating a new physical model.

Thank you Tim Hall

I want to thank my Oracle-Dad (long story:-)) Tim Hall for the best advice ever: I complained to him I never have time to update my blog and he suggested I write when I have time and publish my stories when I get to internet. He was so right! My blog will be so much more active now! Thank you Tim! This method really works!

Why all my DDLs are just general DDLs?

You want to generate the DDLs for creating the object to database. File -> Export -> DDLs. And what you get is very general DDLs. No tablespaces, no storages, nothing… What is wrong?

If you export the DDLs without opening the physical model this is what you get. There can be a reason you actually want to do so. For example the DDLs for your test database?

If you open the physical model the DDLs will look totally different after File->Export->DDLs…