RDBMS-PostgreSQL/C2/Table-with-primary-keys/English-timed
| Time | Narration |
| 00:01 | Welcome to the Spoken Tutorial on Table with primary keys. |
| 00:06 | In this tutorial, we will learn to:
insert data, retrieve data, |
| 00:13 | data redundancy,
importance of primary keys and create a table with primary keys. |
| 00:21 | To record this tutorial, I am using:
Ubuntu Linux 14.04 operating system, PostgreSQL 9.3.x and pgAdmin 1.18. |
| 00:36 | To follow this tutorial, you should have good understanding of basic computer concepts and |
| 00:43 | working knowledge of any programming language. |
| 00:48 | Let us open pgAdmin. |
| 00:51 | Ensure that you have connected to the localhost server.
Select the 'Sampledb' database. |
| 00:59 | Click on the 'students' table and then click on Columns node. |
| 01:06 | We can see the students table with 5 columns which we created earlier.
The structure of the table is ready. |
| 01:15 | Let us learn how to insert some data into this table. |
| 01:20 | Right-click on the students table.
From the drop-down menu, select Scripts and then select INSERT script. |
| 01:29 | The SQL Editor window opens up with the basic syntax for an Insert statement. |
| 01:36 | Insert statement inserts one or more rows into a table. |
| 01:42 | The values to be inserted must match the order of the columns and the datatype of each column. |
| 01:50 | That is - column 1 takes the value 1 and column 2 takes the value 2 and so on. |
| 01:58 | Type the values as shown.
Here I have entered a single row of data for the student 'Ram'. |
| 02:06 | The order of the column name should match the values. |
| 02:10 | Note that character data type values are always enclosed in quotes.
And numeric data type values are not enclosed within quotes. |
| 02:21 | Next we will execute the insert statement. |
| 02:25 | Click on the triangle icon in the toolbar to execute the query. |
| 02:30 | We can see the message 'Query returned successfully: One row affected'. |
| 02:36 | This indicates that one row of data is inserted into the students table. |
| 02:42 | I’ll insert one more record. |
| 02:45 | Execute the query.
I have inserted 2 records now. |
| 02:52 | Let us now retrieve the data which we have inserted, from the table. |
| 02:57 | Click on the “Clear edit window” icon in the toolbar to clear the previous statement. |
| 03:03 | Then type: Select asterisk from |
| 03:07 | Here we have to specify the table name. Press Ctrl and spacebar together. |
| 03:15 | A list of available tables appears as shown.
Select the Students table. |
| 03:23 | Here, Select is a query command which is used to retrieve data from the tables. |
| 03:29 | Asterisk means all the rows from the table. |
| 03:33 | This statement will fetch all the values from the students table. |
| 03:38 | Now click on the triangle icon in the toolbar to execute the query. |
| 03:44 | We can see the output in a tabular form, in the output pane. |
| 03:49 | Next I will demonstrate how to add multiple student details at the same time. |
| 03:56 | The syntax to insert multiple rows is shown here. |
| 04:01 | We can insert multiple rows in a single insert statement. |
| 04:06 | Here, I have entered the information of the students 'Ram', 'Kishore' and ‘Pooja’. |
| 04:13 | Let us save the script of this Insert statement for future use. |
| 04:18 | To do so, click on the Save file icon on the toolbar. |
| 04:23 | Enter the name of the file as insertscript hyphen student. |
| 04:28 | Select the folder where you want to save the file. I'll select Desktop. |
| 04:35 | By default, the file will always be saved with 'dot sql' extension. |
| 04:41 | Click on the Save button. |
| 04:44 | As before, click on the triangle icon in the toolbar to execute the query. |
| 04:50 | In the output pane, we can see the message “3 rows affected”.
This indicates that three records are inserted in the students table. |
| 05:00 | Once again we will retrieve the data from the students table. |
| 05:05 | To do so, click on the Previous queries drop-down box.
All the previous typed sql statements are stored here. |
| 05:15 | Click on “Select asterisk from students” from the list. |
| 05:20 | Now execute the query. |
| 05:23 | We can see there are two students with the same name ‘Ram’ but the other column values are different. |
| 05:31 | How will the institute or organization identify a particular student Ram’s details? |
| 05:38 | Each student is unique and they need to be identified with some unique attribute.
For example, student-id will be unique for each student. |
| 05:49 | Therefore in our example student id can be the ‘primary key constraint’. |
| 05:55 | Primary key is a column or a set of columns that uniquely identifies each row in the table. |
| 06:03 | Follow these rules when you define a primary key for a table. |
| 06:08 | A table should have only one primary key. |
| 06:12 | A primary key can be a single column or a set of columns. |
| 06:17 | The combination of values in these multiple columns must be unique.
It should not contain null values. |
| 06:26 | For example- |
| 06:32 | here, there is a duplicate row of data for the student name ‘Kishore’. |
| 06:38 | By mistake, I have entered the student Kishore’s details twice. |
| 06:43 | First, I demonstrated to insert a single record 2 times and then I inserted 3 records.
The duplication of data is Data redundancy. |
| 06:55 | Data redundancy, that is data repetition will affect the performance of the database. |
| 07:02 | More information on Data redundancy is given in the Additional material link of this tutorial. |
| 07:09 | How can we prevent insertion of duplicate data?
We can do so by adding a primary key constraint to a table. |
| 07:18 | Now I’ll show how to add a primary key. |
| 07:22 | Let’s go to the pgAdmin main screen. |
| 07:26 | Let me copy the script of create table statement and paste in the SQL Editor. |
| 07:32 | This is the code which we executed to create the students table. |
| 07:38 | Can we add a student name column as the primary key to identify each student? |
| 07:45 | No, student name cannot be assigned as a primary key as there may be many students with the same name. |
| 07:53 | We have to identify a column with unique values. |
| 07:58 | So, we will add a student id column to this table to identify each student. |
| 08:05 | Type the code as shown on the screen. |
| 08:09 | I have added a new column called studentid which will store a unique code for each student. |
| 08:16 | I have defined studentid as the primary key.
Now let’s execute the query. |
| 08:24 | We can see an error saying "relation 'students' already exists". |
| 08:30 | This means we tried to create a table with the same name students. |
| 08:36 | Two objects cannot have the same name in a database. |
| 08:41 | First we will drop the students table along with the data which we inserted now. |
| 08:47 | Then we will again create the students table with primary key constraints. |
| 08:53 | Go to the pgAdmin main screen. |
| 08:56 | Right-click on the students table.
From the drop-down menu, select Delete/Drop. |
| 09:03 | A pop-up window for Drop table appears.
Click on the Yes button. |
| 09:10 | This removes a table definition and all its associated data. |
| 09:16 | The syntax to drop a table is DROP TABLE tablename. |
| 09:21 | We can also type the statement in the SQL Editor and execute the query. |
| 09:27 | Switch to the SQL Editor window. |
| 09:30 | Now, let us create the students table with student id as primary key. |
| 09:36 | Execute the query.
Now the students table is successfully created. But the table is empty without any data. |
| 09:47 | I'll insert the data from the insertscript hyphen student.sql file which we saved earlier. |
| 09:54 | Click “Open file” icon in the toolbar and select the insertscript hyphen student file. |
| 10:01 | The file is opened in the SQL editor window.
I’ll add the studentid column as shown. |
| 10:10 | Next I’ll pass a unique id for each student. |
| 10:15 | I’ll add another record for student Ram with unique student id as shown.
Note there is no duplicate row of data. Now execute the query. |
| 10:29 | We can see that four records have been successfully inserted. |
| 10:34 | What will happen if we try to insert the same set of data into the students table again? |
| 10:41 | Let us try that. Execute the insert statement one more time. |
| 10:47 | We can see the error message “duplicate key value violates unique constraint”. |
| 10:54 | It shows an error which indicates the duplication of data.
Hence the primary key helps to avoid the data redundancy in a table. |
| 11:05 | Next, let us retrieve the inserted data. |
| 11:09 | We can see there is no duplication of data. |
| 11:13 | With this we come to the end of this tutorial. Let us summarize. |
| 11:19 | In this tutorial, we have learnt about:
inserting data, retrieving data, |
| 11:25 | data redundancy,
importance of Primary keys, creating table with primary keys. |
| 11:32 | As an Assignment, drop the Emp table which was created in an earlier assignment in this series. |
| 11:39 | Create the Emp table with empno as primary key.
Keep the other columns the same. |
| 11:47 | Insert few records into the Emp table.
Retrieve the data and see the output. |
| 11:55 | The video at the following link summarizes the Spoken Tutorial project.
Please download and watch it. |
| 12:03 | The Spoken Tutorial Project team conducts workshops and gives certificates.
For more details, please write to us. |
| 12:12 | Please post your timed queries in this forum. |
| 12:16 | Spoken Tutorial project is funded by NMEICT, MHRD, Government of India.
More information on this mission is available at this link. |
| 12:29 | This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching. |