Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Oracle
Index -> General Programming
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Tallguy




PostPosted: Sat Feb 05, 2011 11:00 am   Post subject: Oracle

So i didnt see a forum for Oracle so here i am...

so im in a basic database course, i have posted the assignment that i have

-how do i state that there are two primary keys in one table? is that allowed?

and i have posted the code that i have done for it

-i have tried to run it in oracle, but, continues to day there is an error with all my primary keys :/



database.zip
 Description:

Download
 Filename:  database.zip
 Filesize:  224.8 KB
 Downloaded:  123 Time(s)


databaseLab4.txt
 Description:
MY code

Download
 Filename:  databaseLab4.txt
 Filesize:  2.15 KB
 Downloaded:  148 Time(s)

Sponsor
Sponsor
Sponsor
sponsor
Ultrahex




PostPosted: Sat Feb 05, 2011 11:53 am   Post subject: Re: Oracle

Most people here on compsci.ca do not work with database software (hence no category), however

http://techonthenet.com/oracle/primary_keys.php should answer all your questions, instead of me just regurgitating information.
2goto1




PostPosted: Sat Feb 05, 2011 2:05 pm   Post subject: RE:Oracle

you can only have 1 pk per table
rdrake




PostPosted: Sat Feb 05, 2011 3:11 pm   Post subject: Re: RE:Oracle

2goto1 @ Sat Feb 05, 2011 2:05 pm wrote:
you can only have 1 pk per table
To expand on this, a table can have a composite primary key. Still a single primary key, but it is composed of multiple columns.
Tallguy




PostPosted: Sat Feb 05, 2011 3:56 pm   Post subject: RE:Oracle

how do you state a composite PK in the table?
rdrake




PostPosted: Sat Feb 05, 2011 4:01 pm   Post subject: Re: Oracle

SQL:
PRIMARY KEY (col1, col2, ..., coln)
2goto1




PostPosted: Sat Feb 05, 2011 4:08 pm   Post subject: Re: Oracle

From http://techonthenet.com/oracle/foreign_keys/foreign_keys.php all you have to do is comma delimit your pk columns:

Quote:
CREATE TABLE supplier
( supplier_id numeric(10) not null,
supplier_name varchar2(50) not null,
contact_name varchar2(50),
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name)
);


Composite keys are usually based on the natural primary key of your database table. The drawback to a composite primary key is that if you have a data model will lots of foreign keys to your composite primary key, your SQL queries will be a little bigger, and your database storage requirements will increase. Query performance may also degrade. One common solution to this is to create a single column primary key in your table, called a surrogate primary key. The surrogate primary key is just a system identifier. The composite natural primary key then becomes regular old columns in your database table, keeping them not null of course. That being said, as an intro course, you're probably better off just creating a composite primary key
Display posts from previous:   
   Index -> General Programming
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 7 Posts ]
Jump to:   


Style:  
Search: