When you create an index on multiple columns there's an important question you need to answer: In which order should you list the columns? This video looks at some of the factors you should consider to help answer this question. ============================ The Magic of SQL with Chris Saxon Copyright © 2015 Oracle and/or its affiliates. Oracle is a registered trademark of Oracle and/or its affiliates. All rights reserved. Other names may be registered trademarks of their respective owners. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the “Materials”). The Materials are provided “as is” without any warranty of any kind, either express or implied, including without limitation warranties or merchantability, fitness for a particular purpose, and non-infringement.
Views: 4342 The Magic of SQL
Hello friends in this video i'm going to demonstrate you how to add virtual column in ORACLE 11g step by step. Oracle 11g supports virtual columns which are derived from the other columns in the table. You can use the virtual columns in your queries, you can index them, you can collect the statistics, etc. There are few restrictions on the virtual columns. You cannot write/insert the data into virtual columns. There is no support for index_organized, external, object, cluster, temporary tables.
Views: 1408 OCP Technology
This video covers the basics of indexes. Indexing is an extremely important step of database design. Without Indexes database queries can take a substantial amount of time and hog system resources. The main two classifications of indexes are clustered and non-clustered indexes. Clustered indexes are usually the primary key and determine how the data is actually stored in the table. These are the fastest and most effective. Non-clustered indexes sort a reference to data that is still fast but doesn't actually determine how the data is structured. The best tip I can give you is to use indexes but don't over use them. Having loads of indexes on columns that are barely ever in a where clause or join can bog down the database. This is because every time the table is updated the index must also be updated! When a database looks through a table for certain where conditions on a column that does not have an index, it does an entire table scan. This is not a good practice for large databases (or even small databases but not as bad). With an index the database will do an index seek and quickly find the data you are looking for. Composite indexes consist of two or more columns within one index. Use these when you plan on using the two columns together for a database query WHERE clause. Learn more about indexes here: https://www.calebcurry.com/blogs/database-design/introduction-to-indexes Donate!: http://bit.ly/DonateCTVM2. Courses for Download: http://www.udemy.com/u/calebcurry/ (Use the coupon code "YouTubeDiscount" without the quotes) Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://Twitter.com/calebCurry Subscribe (it's free!): https://www.youtube.com/channel/UCZUyPT9DkJWmS_DzdOi7RIA?sub_confirmation=1 Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 98038 Caleb Curry
More Details at, Pseudo Column @ https://www.youtube.com/edit?o=U&video_id=GIGmZwShGh4 Virtual Column @ https://www.youtube.com/edit?o=U&video_id=qUALFDzLDJw Invisible Column @ https://www.youtube.com/edit?o=U&video_id=nz48CdgDCt4 Unused Column @ https://www.youtube.com/edit?o=U&video_id=GWo4VcNZo6Y
Views: 199 Siva Academy
Oracle New feature 12c - Multiple Index on same column in oracle
Views: 172 Siva Academy
SQL 12c Tutorial 20 : SQL 12c Creating Multiple Indexes on column SQL 12c New Features SQL 12c Tutorial for beginners Oracle 12c Tutorial for beginners Creating Multiple indexes on column
Views: 922 TechLake
How to create Virtual Columns in Oracle Database 12c When queried, virtual columns appear to be normal table columns, but their values are derived rather than being stored on disc. The syntax for defining a virtual column is listed below. column_name [datatype] [GENERATED ALWAYS] AS (expression) [VIRTUAL] If the datatype is omitted, it is determined based on the result of the expression. The GENERATED ALWAYS and VIRTUAL keywords are provided for clarity only. The script below creates and populates an employees table with two levels of commission. It includes two virtual columns to display the commission-based salary. The first uses the most abbreviated syntax while the second uses the most verbose form. CREATE TABLE employees ( id NUMBER, first_name VARCHAR2(10), last_name VARCHAR2(10), salary NUMBER(9,2), comm1 NUMBER(3), comm2 NUMBER(3), salary1 AS (ROUND(salary*(1+comm1/100),2)), salary2 NUMBER GENERATED ALWAYS AS (ROUND(salary*(1+comm2/100),2)) VIRTUAL, CONSTRAINT employees_pk PRIMARY KEY (id) ); INSERT INTO employees (id, first_name, last_name, salary, comm1, comm2) VALUES (1, 'JOHN', 'DOE', 100, 5, 10); INSERT INTO employees (id, first_name, last_name, salary, comm1, comm2) VALUES (2, 'JAYNE', 'DOE', 200, 10, 20); COMMIT; Querying the table shows the inserted data plus the derived commission-based salaries. SELECT * FROM employees; ID FIRST_NAME LAST_NAME SALARY COMM1 COMM2 SALARY1 SALARY2 ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 1 JOHN DOE 100 5 10 105 110 2 JAYNE DOE 200 10 20 220 240 2 rows selected. SQL The expression used to generate the virtual column is listed in the DATA_DEFAULT column of the [DBA|ALL|USER]_TAB_COLUMNS views. COLUMN data_default FORMAT A50 SELECT column_name, data_default FROM user_tab_columns WHERE table_name = 'EMPLOYEES'; COLUMN_NAME DATA_DEFAULT ------------------------------ -------------------------------------------------- ID FIRST_NAME LAST_NAME SALARY COMM1 COMM2 SALARY1 ROUND("SALARY"*(1+"COMM1"/100),2) SALARY2 ROUND("SALARY"*(1+"COMM2"/100),2) 8 rows selected. SQL Notes and restrictions on virtual columns include: 1)Indexes defined against virtual columns are equivalent to function-based indexes. 2)Virtual columns can be referenced in the WHERE clause of updates and deletes, but they cannot be manipulated by DML. 3)Tables containing virtual columns can still be eligible for result caching. 4)Functions in expressions must be deterministic at the time of table creation, but can subsequently be recompiled and made non-deterministic without invalidating the virtual column. In such cases the following steps must be taken after the function is recompiled: a)Constraint on the virtual column must be disabled and re-enabled. b)Indexes on the virtual column must be rebuilt. c)Materialized views that access the virtual column must be fully refreshed. d)The result cache must be flushed if cached queries have accessed the virtual column. e)Table statistics must be regathered. 5)Virtual columns are not supported for index-organized, external, object, cluster, or temporary tables. 6)The expression used in the virtual column definition has the following restrictions: a.It cannot refer to another virtual column by name. b.It can only refer to columns defined in the same table. c.If it refers to a deterministic user-defined function, it cannot be used as a partitioning key column. e.The output of the expression must be a scalar value. It cannot return an Oracle supplied datatype, a user-defined type, or LOB or LONG RAW.
Views: 507 OracleDBA
The way you create a table is to use the CREATE TABLE command. CREATE TABLE users() So in this situation, the name comes right after the TABLE keyword. The next thing we do is put all of the columns on a line that we want to put in our table. CREATE TABLE users( user_id, username, first_name, last_name ) Notice the naming conventions here. For this series we are going to make columns with what is known as snake casing. This is where each individual word is separated by an underscore. if you have more than one column, all of them have to have commas except the last one. The comma is a way to say that another column is coming, so you don't need to do it on the last one. Now you would think we were done, but we also have to say what data type each column is. Later we will extensively discuss data types so we can focus on them exclusively. For now, here are the data types we are going to use: CREATE TABLE users( user_id NUMBER, username VARCHAR2(50), first_name VARCHAR2(50), last_name VARCHAR2(50) ) Now, inside of the parenthesis for varchar2, we pass in a number... This is the max length of the string. But the question is, what is it measured in? The default is actually in bytes, not characters. For example if we have the string hello, it is 5 characters, but it might take up a total of 10 bytes of storage. So I would recommend adding the keyword char right after the number so it defaults to 50 characters, not bytes. CREATE TABLE users( user_id NUMBER, username VARCHAR(50 CHAR), first_name VARCHAR2(50 CHAR), last_name VARCHAR2(50 CHAR) ) This will work to create a table, but it's really missing a lot of information… which column is the primary key? Are we adding any indexes? Is there any thing else we need to say about these columns? So as you can tell, we are making progress, but there is still so much to learn. The biggest gotcha to remember from this video is that the data type VARCHAR ends in a 2, stupid, right? who would end the name of something with a 2? Once again, this is Caleb from CalebTheVideoMaker2, and we will catch you in the next one! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HELP ME! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 36311 Caleb Curry
In this video I use the ALTER TABLE command to modify an existing field column. The command will allow you to change the data types, whether the field can be null, or even the primary key. When using the ALTER TABLE command you would use the keyword MODIFY to make changes to an existing column. Be careful when changing a data type of the null field as existing data may cause an error if not in compliance with the new change. The code I used to alter the Books table is : ALTER TABLE BOOKS MODIFY ISBN_10 VARCHAR(13); This video is part of a series of videos with the purpose of learning the SQL language. For more information visit Lecture Snippets at http://lecturesnippets.com.
Views: 16069 Lecture Snippets
This video demonstrates how you can use invisible indexes to allow multiple indexes on the same set of columns. Multiple indexes on the same column set is a new feature in Oracle 12c. For more information see: https://oracle-base.com/articles/12c/multiple-indexes-on-same-set-of-columns-12cr1 Website: https://oracle-base.com Blog: https://oracle-base.com/blog Twitter: https://twitter.com/oraclebase Cameo by Scott Spendolini Blog: http://spendolini.blogspot.co.uk/ Twitter: https://twitter.com/sspendol Website: http://www.sumnertech.com/ Cameo appearances are for fun, not an endorsement of the content of this video.
Views: 1377 ORACLE-BASE.com
Complete Oracle PL/SQL Tutorial for Beginners Playlist here https://www.youtube.com/playlist?list=PLI5t0u6ye3FE_9SZcS0cQZDU2qn0uB1Oi ************************************************** Composite DataType - Collections in Oracle PL SQL 1. Difference Between Records and Collections 2. Types of Collections in Oracle 3. VARRAYS 4. Nested Table 3. Associative Arrays / Index BY Tables 4. Multi Dimensional Arrays Using Collections and Records
Views: 19049 yrrhelp
The demonstration provides an overview of the architecture of the In-Memory Column Store feature introduced in Oracle Database 12c Release 1 patchset 1.
Views: 22368 Oracle Learning Library
This Video is the 1st tutorial in the video series Indexing in Oracle , The video series explains in detail, What are indexes?It's types, what index should be used in which scenario and other important thing in basic terminology. Note :You may want to watch the video with a higher playback speed(1.25 if it suits you more)
Views: 17609 Tech Coach
Partitioning enhances the performance, manageability, and availability of a wide variety of applications and helps reduce the total cost of ownership for storing large amounts of data. Partitioning allows tables, indexes, and index-organized tables to be subdivided into smaller pieces, enabling these database objects to be managed and accessed at a finer level of granularity. Oracle provides a rich variety of partitioning strategies and extensions to address every business requirement. Moreover, since it is entirely transparent, partitioning can be applied to almost any application without the need for potentially expensive and time consuming application changes. Partitioning allows a table, index, or index-organized table to be subdivided into smaller pieces, where each piece of such a database object is called a partition. Each partition has its own name, and may optionally have its own storage characteristics. From the perspective of a database administrator, a partitioned object has multiple pieces that can be managed either collectively or individually. This gives the administrator considerable flexibility in managing partitioned objects. However, from the perspective of the application, a partitioned table is identical to a non-partitioned table; no modifications are necessary when accessing a partitioned table using SQL queries and DML statements. Partitioning Key ======================== Each row in a partitioned table is unambiguously assigned to a single partition. The partitioning key is comprised of one or more columns that determine the partition where each row will be stored. Oracle automatically directs insert, update, and delete operations to the appropriate partition through the use of the partitioning key. When to Partition a Table ========================== Here are some suggestions for when to partition a table: Tables greater than 2 GB should always be considered as candidates for partitioning. Tables containing historical data, in which new data is added into the newest partition. A typical example is a historical table where only the current month's data is updatable and the other 11 months are read only. When the contents of a table need to be distributed across different types of storage devices. When to Partition an Index ============================= Here are some suggestions for when to consider partitioning an index: Avoid rebuilding the entire index when data is removed. Perform maintenance on parts of the data without invalidating the entire index. Reduce the impact of index skew caused by an index on a column with a monotonically increasing value. Partitioned Index-Organized Tables =================================== Partitioned index-organized tables are very useful for providing improved performance, manageability, and availability for index-organized tables. For partitioning an index-organized table: ============================================ Partition columns must be a subset of the primary key columns Secondary indexes can be partitioned (both locally and globally) OVERFLOW data segments are always equi-partitioned with the table partitions See Also: Oracle Database Concepts for more information about index-organized tables System Partitioning System partitioning enables application-controlled partitioning without having the database controlling the data placement. The database simply provides the ability to break down a table into partitions without knowing what the individual partitions are going to be used for. All aspects of partitioning have to be controlled by the application. For example, an insertion into a system partitioned table without the explicit specification of a partition will fail. System partitioning provides the well-known benefits of partitioning (scalability, availability, and manageability), but the partitioning and actual data placement are controlled by the application. See Also: Oracle Database Data Cartridge Developer's Guide for more information about system partitioning Partitioning for Information Lifecycle Management Information Lifecycle Management (ILM) is concerned with managing data during its lifetime. Partitioning plays a key role in ILM because it enables groups of data (that is, partitions) to be distributed across different types of storage devices and managed individually.
Views: 7294 Md Arshad
This video will show you " Oracle tutorial: What is Virtual column in Oracle PL SQL " sql calculated field computed column oracle-11g-new-feature-virtual-column Oracle tutorial : What is Virtual column in oracle Syntax : column_name [datatype] [GENERATED ALWAYS] AS [expression] [VIRTUAL] 1)The values of the virtual column are not stored in the database. 2)You can not update the values of virtual column. 3)when you try to modify it will give oracle error. 4)These are read only values. 5)Virtual columns used in the WHERE clause of UPDATE and DELETE statement 6)Constraints can be created on them. #techquerypond https://techquerypond.wordpress.com https://twitter.com/techquerypond
Views: 1466 Tech Query Pond
How to Rename a column of a table using alter table and How to modify a column of a table using alter table Modify means How to change datatype of a column and how to change size/width of a column Web Article link http://bit.ly/sql-tutorial23 Tutorial 21 How to rename a table : http://bit.ly/sql-tutorial-21 Tutorial 22 How to add/ delete column: http://bit.ly/sql-tutorial-22 YouTube Video on How to create database http://bit.ly/create-database-using-DBCA Tool used in this tutorial is SQL Developer. This tutorial series is part of SQL expert exam certification training. if you are preparing for SQL certification you can use my tutorials. This SQL Tutorial is a part of free training. Copy Cloud referral link || Use this link to join copy cloud and get 20GB of free storage https://copy.com?r=j7eYO7 Contacts E-Mail [email protected] Twitter https://twitter.com/rebellionrider Instagram http://instagram.com/rebellionrider Facebook. https://www.facebook.com/imthebhardwaj Linkedin. http://in.linkedin.com/in/mannbhardwaj/ Thanks for liking, commenting, sharing and watching more of our videos This is Manish from RebellionRider.com
Views: 46241 Manish Sharma
Views: 238881 Questpond
This is a video tutorial on using pivot and unpivot operators to change rows to column and columns to rows when needed, the video also demonstrates a way to change from rows to column without using the pivot operator which can be helpful if you are using and older version of oracle or some other database without the feature of pivot and unpivot. Both the operators are explained with an example for better understanding
Views: 7854 Kishan Mashru
We use unique indexes in Oracle to maintain distinct values in columns. Let us explore a case where we have Unique Indexes on(combination of) two or more columns in a table in Oracle, where one column has mostly null values.
Views: 5 Peeush Trikha
Indexes allow us to tell the database that certain columns are columns we want to retrieve commonly. This allows the database to optimize retrieval. Additionally, when we get into the SELECT statement, we will often have to join data from multiple tables. When we correctly add indexes to our tables, we can improve the speed of our SELECT and also our joins. There are two types of Index. One is called clustered and the other is called non-clustered. Clustered indexes determine the actual order of the table. By default this is going to be the primary key column. So when you label a column as PRIMARY KEY, you are also going to be creating an INDEX that is a clustered index. A clustered index is kind of like a telephone book, where the data is right there when you look up a phone number. This means that if you are just making a small database that is only going to store a few things, you may be fine. But more likely than not you are going to want to add additional indexes. When you add a new index, you create a non-clustered index. These things do not actually determine the order of the rows in the table. A way of how you can think of how these work is like an index in the back of a book. The index of the book does not actually contain the data, it just tells you where to find it. What columns do you index? You are going to want every primary key to be indexed. What about foreign keys, are they indexed by default? No, they are not. Of all columns, you are probably going to want to index the foreign keys the most because they are used in joins. Lastly, you will likely want to index columns that you are going to use on a regular basis. You can also make composite indexes just like you can make composite keys. You would want to do this when you are going to constantly being using those columns together. There is a lot to learn on multicolumn indexes. We may explore this concept in more detail and see how SQL Server uses them in a future video, but as of right now it's probably more important that we get a general understanding of all things SQL Server before we deep dive on something like that. In the upcoming videos I'll be teaching you how to create indexes. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support me! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 11172 Caleb Curry
Have you ever wanted to create an index to improve SQL query performance but were unsure of what columns to include or what order to put them in? This video will explain everything you need to know to understand how SQL row store indexes work. Subscribe and turn on notifications to never miss a weekly video: https://www.youtube.com/c/bertwagner?sub_confirmation=1 Related blog post with examples and graphics: https://bertwagner.com/2018/09/04/does-the-order-of-index-columns-matter/ Follow me on Twitter: https://twitter.com/bertwagner
Views: 495 Bert Wagner
PIVOT allows you to "flip a table on its side", i.e. Columns to Rows / Rows to Columns. Previously we did this with DECODE or CASE. As of Oracle 11g, Oracle Database includes the PIVOT clause (and UNPIVOT). Oracle expert Geoff Wiland from SkillBuilders will demonstrate PIVOT, UNPIVOT, including the use of aggregate functions.
Views: 10992 SkillBuilders
Original high quality video: http://www.dotnetcodecentral.com/Post/130/microsoft-sql-server-quick-learn-how-to/How-to-create-an-index-for-a-column-in-a-SQL-Server-table All high quality videos on SQL Server (FREE to download): http://www.dotnetcodecentral.com/Technology/microsoft-sql-server-quick-learn-how-to Demonstrates the following (using SQL Server Management Studio): -Open a table in design mode (to modify table structure) -Add an index to a column in a table
Views: 17478 Jagadish Pulakhandam
In this lecture you will learn about PIVOT operator and using it to generate dynamic columns.PIVOT is very use full operator to convert values into columns. PIVOT: •Convert your output from (values)vertical order to horizontal(making columns) one Topic to cover: •PIVOT example •PIVOT syntax •Interview Question •PIVOT on northwind •Dynamic PIVOT query http://www.techsapphire.in/index/pivot_sql_lesson_with_generating_dynamic_columns_with_pivot/0-158
Views: 30612 techsapphire
In this video You will learn how to Add new column after creating a new table or existing tables in oracle database , This video help us adding one or more than columns as per project requirement. add a column add a column in a table add a column in sql add a column in table add a column sql add a column to a table add a column to an existing table add a column to sql table add a column to table add a new column add column add column alter table add column in a table add column in a table oracle add column in existing table add column in oracle add column in sql add column in table add column in table oracle add column in table sql add column into table add column ms sql add column oracle add column oracle sql add column oracle table add column pl sql add column sql add column sql oracle add column sql script add column sql server add column sql server 2008 add column sql server 2012 add column table add column table oracle add column to a table add column to a table sql add column to database add column to existing table add column to existing table sql server add column to oracle table add column to sql add column to sql server table add column to sql table add column to table add column to table oracle add column to table sql add column to table sql server add column to table sql server 2008 add column tsql add field sql add field sql server add field to table sql add new column add new column in existing table add new column in oracle database tables add new column in table sql add new column sql add new column to sql table add new column to table add new column to table oracle add new column to table sql add sql column add table column add to table sql alter a table sql alter table alter column sql alter table change column sql alter table column sql alter table command sql table add column sql table alter sql update table add column sql update table column sqlplus alter table table add column table alter table columns add update add column update column oracle update table add column update table add column oracle update table add column sql
Views: 2706 Programming Lifestyle
This is the first video in a series of videos on how to handle JSON data in Oracle 12C. In this video, I'll show you how to create columns in a table that will be used to hold JSON data.
Views: 5060 Pretty Printed
In this video we will learn about What are indexes Why do we use indexes Advantages of indexes These concepts are applicable to sql server 2000, 2005 and 2008 Text version of the video http://csharp-video-tutorials.blogspot.com/2012/09/indexes-in-sql-server-part-35.html Slides http://csharp-video-tutorials.blogspot.com/2013/08/part-35-indexes.html All SQL Server Text Articles http://csharp-video-tutorials.blogspot.com/p/free-sql-server-video-tutorials-for.html All SQL Server Slides http://csharp-video-tutorials.blogspot.com/p/sql-server.html All Dot Net and SQL Server Tutorials in English https://www.youtube.com/user/kudvenkat/playlists?view=1&sort=dd All Dot Net and SQL Server Tutorials in Arabic https://www.youtube.com/c/KudvenkatArabic/playlists
Views: 395718 kudvenkat
So far, we have this table declaration: CREATE TABLE users( user_id NUMBER, username VARCHAR(50 CHAR) first_name VARCHAR2(50 CHAR), last_name VARCHAR2(50 CHAR) ) We can run this command see that it works. As we are learning though, we are going to want to be able to recreate our table with different settings and such, but if you try to run this command, it will complain that the table already exists. So we first need to delete this table before we start editing settings. When we get more experienced, we will learn about ways to edit the structure of a table that already exists. To fix this, we can get rid of the table using the DROP TABLE command: DROP TABLE users You can run this every time if you need to practice by adding a semicolon after it. This is how you can tell Oracle that you are putting in another command after it. This is known as a delimiter. When you run the script, it is going to run both commands. Now we can go through and reconsider our table structure. This is fine for starting out because we don't have any important data in our database, but once your database is in production you are not going to want to just drop tables. In the last video we discussed different constraints that you can apply to columns in a database table, but how do you actually apply these when you are creating a table? The first way you define constraints is to put them right after the column in your CREATE TABLE statement. CREATE TABLE users( username VARCHAR2(50 CHAR) NOT NULL ) When we define constraints this way, we usually say we are adding column attributes. If you have two constraints you want to add, you just put one after the other with spaces in between. There is no particular order that is required. CREATE TABLE users( username VARCHAR2(50 CHAR) NOT NULL UNIQUE ) In this situation we have already given the column the NOT NULL and UNIQUE attributes, so we should consider making this a primary key: CREATE TABLE users( username VARCHAR2(50 CHAR) PRIMARY KEY ) As you can see, adding column attributes is super easy. We can add a default like this: CREATE TABLE users( username VARCHAR2(50 CHAR) PRIMARY KEY, account_balance NUMBER DEFAULT 0 ) Note that now we need the comma after the first row. There are a few constraints we did not talk go through an example, specifically foreign keys and check constraints. We will be adding these constraints to our database in future videos. In the mean time, I have a thought for you… Many people prefer to name their column constraints. That way, we can refer to certain constraints by name. For example, we might have a primary key constraint that could be named users_pk. The way we are creating these constraints does not allow for this feature, so in the next video we are going to be discussing different ways to create constraints. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support me on Patreon! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 22297 Caleb Curry
The video explains BITMAP and BITMAP JOIN INDEX IN ORACLE and when you should create them on a column. BITMAP INDEXES should be dealt with carefully as they can lead to serious performance issues if the table is updated by multiple processes in parallel. Indexing Basics :https://www.youtube.com/watch?v=0X9bbtwTnuE&t=1095s Star and snowflake Schema :https://www.youtube.com/watch?v=Qq4yhhAk9fc&t=17s
Views: 5115 Tech Coach
In the previous video we talked about adding constraints at the column-level. We made it nice and simple by only requiring a few keywords, but the problem we were having is that we could not assign a name to the constraint, which many people like to do so we can reference easily if we need to at a later time. To do this, it requires a little bit more typing, but it will give us extra flexibility and many consider it to be the higher quality approach to adding constraints. Let's go though a simple example. Let's say we have a users table with a user_id column that we want to make a primary key. We will create the table like this: CREATE TABLE( user_ id NUMBER PRIMARY KEY ) Instead of adding the PRIMARY KEY keywords after the data type, we add: CONSTRAINT user_pk PRIMARY KEY Now, we have assigned the name user_pk to this constraint. You can do the same with other constraints, such as UNIQUE. The syntax would be CONSTRAINT username_un UNIQUE. The other way to create constraints requires to put all of our constraints at the bottom of our table creation rather than inline with the column. This type of constraint is known as a table-level constraints. To make a column a primary key using table-level constraints, we add it to the CREATE TABLE command as if it is another row and use the CONSTRAINT keyword to tell Oracle that what is coming is a constraint, not a column in our table. CREATE TABLE users( user_id NUMBER, username VARCHAR2(50 CHAR), CONSTRAINT username_un UNIQUE (username), CONSTRAINT users_pk PRIMARY KEY (user_id) ) The primary differences here is that you have to put the column you are talking about in parenthesis after the PRIMARY KEY keyword. That's because it's at the end of the table and you need a way to tell it what column you are talking about. The option of putting it at the end of the table has the added benefit in this situation because if we needed to have a primary key that is the combination of multiple columns, we can do that by just adding the other column in the PRIMARY KEY parenthesis right after a comma. In summary, there are three ways to make constraints. The first is at the column level, unnamed. The second is at the column level, named. The third is at the table level, also named. In the next video we are going to create a named constraint in Oracle SQL Developer, so stay tuned and be sure to subscribe! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support me! http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 16283 Caleb Curry
In October's session, Chris Saxon covered SQL magic, including the following highlights: - 0:50 - how to find table name for index (sub)partitons from *_ind_(sub)partitions - 2:00 - SQL Magic! the dynamic pivot update; converting rows & columns in a table via an update statement - 8:30 - Polymorphic table functions; the describe function & fetch_rows procedure; PTFs and the optimizer; examples on LiveSQL.oracle.com. AskTOM Office Hours offers free, monthly training and tips on how to make the most of Oracle Database, from Oracle product managers, developers and evangelists. Music by bensound.com https://asktom.oracle.com/ Oracle Developers portal: https://developer.oracle.com/ Sign up for an Oracle Cloud trial: https://cloud.oracle.com/en_US/tryit Music by bensound.com
Views: 401 Oracle Developers
mysql tutorial for beginners (6/8) : Indexes As things stand, the table students works and can be searched without problem by MySQL—until it grows to more than a couple of hundred rows, At that point, database accesses will get slower and slower with every new row added, because MySQL has to search through every row whenever a query is issued. This is like searching through every book in a library whenever you need to look something up. Of course, you don’t have to search libraries that way, because they have either a card index system or, most likely, a database of their own. The way to achieve fast searches is to add an index, either when creating a table or at any time afterward. But the decision is not so simple. For example, there are different index types such as a regular INDEX, PRIMARY KEY, and FULLTEXT. Also, you must decide which columns require an index, a judgment that requires you to predict whether you will be searching any of the data in that column. And even when you’ve decided that, you still have the option of reducing index size by limiting the amount of each column to be indexed. If we imagine the searches that may be made on the students table, it becomes apparent that all of the columns may need to be searched. Anyway, go ahead and add an index to each of the columns, using the commands: ALTER TABLE students ADD INDEX(name(3)); An alternative to using ALTER TABLE to add an index is to use the CREATE INDEX command. They are equivalent, except that CREATE INDEX cannot be used for creating a PRIMARY KEY CREATE INDEX surname ON students (surname(5)); DESCRIBE students; These commands create indexes on both the name and surname columns, limiting name index to only the first 3 characters, and surname index to the first 5 characters. For instance, when MySQL indexes the following name: SAFAA It will actually store in the index only the first 3 characters: SAF This is done to minimize the size of the index, and to optimize database access speed. DESCRIBE command shows the key MUL for each column. This key means that multiple occurrences of a value may occur within that column, which is exactly what we want, as name or surname may appear many times. You don’t have to wait, until after creating a table to add indexes. In fact, doing so can be time-consuming, as adding an index to a large table can take a very long time. Therefore, let’s look at a command that creates the table students with indexes already in place. CREATE TABLE students ( Id_studnet SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(10) NOT NULL, surname VARCHAR(20) NOT NULL, email VARCHAR(30) NOT NULL, INDEX(name(3)), INDEX(surname(5)), ,PRIMARY KEY(id_studnet),UNIQUE(email)); Another important index, PK, its single unique key for each student to enable instant accessing of a row. The importance of having a key with a unique value for each row will come up when we start to combine data from different tables. You can add PK, while you create the table at the first time, or later by issuing the following command: ALTER TABLE students ADD PRIMARY KEY(id_student); The last important index, FULLTEXT index Unlike a regular index, MySQL’s FULLTEXT allows super-fast searches of entire columns of text. It stores every word in every data string in a special index that you can search using “natural language,” in a similar manner to using a search engine. It’s not strictly true that MySQL stores all the words in a FULLTEXT index, because it has a built-in list of more than 500 words that it chooses to ignore because they are so common that they aren’t very helpful for searching anyway. This list, called stopwords, includes the, as, is, of, and so on. The list helps MySQL run much more quickly when performing a FULLTEXT search and keeps database sizes down. FULLTEXT indexes can be created for CHAR, VARCHAR, and TEXT columns only. A FULLTEXT index definition can be given in the CREATE TABLE statement when a table is created, or added later using ALTER TABLE (or CREATE INDEX). Adding a FULLTEXT index to the table students for the columns name and surname ALTER TABLE classics ADD FULLTEXT(name,surname); this index is in addition to the ones already created and does not affect them You can now perform FULLTEXT searches across this pair of columns. If you find that MySQL is running slower than you think it should be when accessing your database, the problem is usually related to your indexes. Either you don’t have an index where you need one, or the indexes are not optimally designed. Tweaking a table’s indexes will often solve such a problem. In the next tutorial, we will learn about, using FOREIGN KEY Constraints and how to join tables together. Subscribe for more: ---------------------------------------------------------------------------- https://www.youtube.com/subscription_center?add_user=saf3al2a SWE.Safaa Al-Hayali - saf3al2a
Views: 29155 Safaa Al-Hayali
"Why isn't Oracle using my index?!" is a common question people have when tuning SQL queries. In this episode Chris compares two methods for finding all the red candies from party bags he's prepared. He shows how these are like a full table scan and an index range scan. He goes on to compare the performance of these two approaches. He shows when a full table scan becomes more efficient than an index range scan and vice versa. ============================ The Magic of SQL with Chris Saxon Copyright © 2015 Oracle and/or its affiliates. Oracle is a registered trademark of Oracle and/or its affiliates. All rights reserved. Other names may be registered trademarks of their respective owners. Oracle disclaims any warranties or representations as to the accuracy or completeness of this recording, demonstration, and/or written materials (the “Materials”). The Materials are provided “as is” without any warranty of any kind, either express or implied, including without limitation warranties or merchantability, fitness for a particular purpose, and non-infringement.
Views: 8398 The Magic of SQL
Link for all dot net and sql server video tutorial playlists http://www.youtube.com/user/kudvenkat/playlists Link for slides, code samples and text version of the video http://csharp-video-tutorials.blogspot.com/2014/06/part-6-transform-rows-into-columns-in.html This is another common sql server interview question. We will be using Countries table in this example. SQL to create the table Create Table Countries ( Country nvarchar(50), City nvarchar(50) ) GO Insert into Countries values ('USA','New York') Insert into Countries values ('USA','Houston') Insert into Countries values ('USA','Dallas') Insert into Countries values ('India','Hyderabad') Insert into Countries values ('India','Bangalore') Insert into Countries values ('India','New Delhi') Insert into Countries values ('UK','London') Insert into Countries values ('UK','Birmingham') Insert into Countries values ('UK','Manchester') Here is the interview question. Write a sql query to transpose rows to columns. Using PIVOT operator we can very easily transform rows to columns. Select Country, City1, City2, City3 From ( Select Country, City, 'City'+ cast(row_number() over(partition by Country order by Country) as varchar(10)) ColumnSequence from Countries ) Temp pivot ( max(City) for ColumnSequence in (City1, City2, City3) ) Piv
Views: 198685 kudvenkat
You can get any course for $9.99 at Udemy using below links https://www.udemy.com/sap-hana-sql/?couponCode=HAPPY_LEARNING https://www.udemy.com/slt-for-hana/?couponCode=HAPPY_LEARNING https://www.udemy.com/sap-hana-sql-step-2/?couponCode=HAPPY_LEARNING For more details check out http://time4hana.com *** This is the first comprehensive online course on SAP HANA SQL & SQL Scripting *** Welcome to comprehensive SAP HANA SQL & SQL Scripting course. You want to learn how to develop SQL skills on HANA? This course is for you. It is the perfect time to learn HANA technologies. There are a lot of requirement for HANA Developers, as many SAP clients moving from traditional databases to HANA. This comprehensive tutorial teaches required skills to become HANA SQL Developer. This course covers almost all features SQL and SQL Script with real-world example (including Design time objects and Core Data Services) Here are few highlights of the course: 1. Introduce HANA Express Edition (HXE) which is a free HANA Developer version for learning and prototyping purpose. 2. Walk you through steps to setup your HANA studio for the first time. 3. Key HANA concepts (Row store vs Column store and Delta Merge) 4. Multiple sample databases created by us for learning and practice 5. Start with very basic SELECT SQL statements to advanced stored procedures using SQL scripting. 6. Covers each and every key word of SQL & SQL scripting. 7. More than 5 ways to create a table. 8. Imperative and Declarative statements. 9. Extensive content on SQL scripting. Scalar UDF's Table UDF's Stored Procedures Scripted Calculation views. Table Variables, Input Parameters etc.. 10. Provided detailed explanation on best practices to follow and real world examples. 11. HANA Certification SQL part is covered. 12. Special features like IDENTITY, Dynamic Filters, Exception handling and much more. 13. Development Objects and Designtime Objects. 14. Core Data Services (CDS). 15. By end of this course, you will be very confident on SQL & SQL scripting. This is a comprehensive course and we'll keep adding the content when new features available as part of new HANA versions. Please feel free to check out course content to know more about this course.
Views: 12247 Time4 HANA
SQL Server / TSQL Tutorial Scenario: You are working as SQL Server developer, you need to create a table dbo.Customer with composite primary key by using columns FName and SSN. One you are done with creating primary key in dbo.Customer table, you need to create second table dbo.Orders and create foreign key constraint by using Primary Key columns. Link to scripts used in SQL Server / TSQL Tutorial Video http://www.techbrothersit.com/2016/04/how-to-create-foreign-key-constraint-on.html Check out our website for Different SQL Server, MSBI tutorials and interview questions such as SQL Server Reporting Services(SSRS) Tutorial SQL Server Integration Services(SSIS) Tutorial SQL Server DBA Tutorial SQL Server / TSQL Tutorial ( Beginner to Advance) http://www.techbrothersit.com/
Views: 5216 TechBrothersIT
Learn to filter a table's column data in output based on another table's column data. How is this done? -- Using the LIKE operator when we have to deal with strings (char/varchar/varchar2). Here's the query: ----------------------------------------------------------------------------------------------------------- select emp1.empid, empname, dept1.deptid, dept1.city from dept1 inner join emp1 on(emp1.deptid = dept1.deptid) where dept1.city in (select emp1.city from emp1) or dept1.city like (emp1.city || '%'); ----------------------------------------------------------------------------------------------------------- Here the tables are joined using the inner join on the department IDs as they are not related by the foreign key constraint. The LIKE Operator and the wildcard character % helps to filter the string data here. The first section of the where clause is to filter the exact names of cities. Removing this will remove 'california' from the result. This can be very useful to filter candidate names or locations or any string data which is present in two tables. Hop on to learn more! Subscribe to my channel to learn new Oracle/SQL tips and tricks to obtain a particular output. Use the Oracle Express Edition for quick learning! Check out my other videos: -------------------------------------------------- Clone an Oracle table using SQL: https://youtu.be/8MICKuNoT1w Add Primary Key to Existing Table: https://youtu.be/DgGoedEBLoU Create an Application Workspace: https://youtu.be/Tl9hddgUSdI Download the latest Oracle Express Edition release here: http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html Follow me on Instagram: https://www.instagram.com/the_perfect_tutorials/ Follow me on Facebook: https://www.facebook.com/theperfecttutorials Sound: Bensound
Views: 15 The Perfect Tutorials
The database normal forms are used to normalize a database. What does it mean to normalize a database? It means to break it up into multiple tables to prevent redundant, conflicting, and bad data. The three normal forms are 1nf, 2nf, and 3nf. These stand for first normal form, second normal form, and third normal form. There are other normal forms, such as Boyce Codd normal form (BCNF), but the first 3 normal forms are the ones that are really important to know. The normal forms depend on one another. It is kind of like a ladder. In order to be in 2nd normal form, you must first be in first normal form. In order to be in 3rd normal form, you must first be in 2nd normal form. First normal form is all about individuality and giving data its space. Each column must be atomic...that is, in the smallest indivisible piece. Each value for the column must also only contain one value. To fix first normal form when you have a column violation, break the column into multiple columns. To fix first normal form when you have data violation, break the column into a new table and have a column that references the old table. Second normal form is all about partial dependencies. A partial dependency is when a column only depends on part of the primary key. This is often seen when you have an intermediary table in a many to many relationship (as a reminder, we break up many to many relationships into one to many relationships with intermediary tables in between). The solution to get rid of partial dependencies is to put the data in the table to where the column depends entirely on the key. If you do not already have a table that fits the rule, you can consider creating one. Third normal form is all about transitive dependencies. This is when a column in a table depends on another column instead of depending solely on the primary key. The solution to this is to take the column that is directly dependent on the primary key and bring it into its own table. Then, you can use foreign keys to connect the tables. This video concluded with a noble speech on how database design is very subjective. Thus is so because as we normalize more and more, the design becomes more and more complex. If we get to the point where we have hundreds of tables for a relatively small database, we can really hurt performance and increase risk of mistakes. Hopefully this video was helpful to everyone. See you in the next one! Support me: http://www.patreon.com/calebcurry Subscribe to my newsletter: http://bit.ly/JoinCCNewsletter Donate!: http://bit.ly/DonateCTVM2. ~~~~~~~~~~~~~~~Additional Links~~~~~~~~~~~~~~~ More content: http://CalebCurry.com Facebook: http://www.facebook.com/CalebTheVideoMaker Google+: https://plus.google.com/+CalebTheVideoMaker2 Twitter: http://twitter.com/calebCurry Amazing Web Hosting - http://bit.ly/ccbluehost (The best web hosting for a cheap price!)
Views: 28144 Caleb Curry
En este video vemos las mejoras de Column Store Index de InMemory Tables en SQL Server 2016 Ing. Eduardo Castro, PhD http://ecastrom.blogspot.com Microsoft SQL Server MVP
Views: 474 Eduardo Castro
Oracle tutorial : Pseudo columns in Oracle PL SQL ( pseudocolumn ) oracle tutorial for beginners rownum in oracle This video will show you what is Pseudo columns in Oracle PL SQL. Pseudo columns are likes ROWNUM, ROENUM, ROWID, NEXTVAL,SYSDTAE , USER etc. pseudocolumn examples Oracle tutorial : Pseudo columns in oracle Oracle supports several special-purpose data elements that are not actually contained in a table, but are available for use in SQL statements. Here is a partial list of pseudo-columns in Oracle a)CURRVAL : When using Oracle SEQUENCE values, the pseudo-column CURRVAL returns the current value of the sequence. for example: schema.sequence_name.CURRVAL b)NEXTVAL :When using Oracle SEQUENCE values, the pseudo-column NEXTVAL returns the next value of the sequence and causes the sequence to increment by one. for example: schema.sequence_name.NEXTVAL c)ROWNUM:ROWNUM returns a number indicating the order in which a row was selected from a table. d)ROWID: ROWID returns the rowid (binary address) of a row in a database table. e)USER :This pseudo-column will always contain the Oracle username under which you are connected to the database. f)SYSDATE:This pseudo-column will contain the current date and time. This column is a standard Oracle DATE datatype. The value represents the current time on the server not the client. For more tutorial please visit #techquerypond https://techquerypond.com https://techquerypond.wordpress.com https://twitter.com/techquerypond
Views: 1522 Tech Query Pond
In this tutorial, you'll learn the difference between delete/drop and truncate. PL/SQL (Procedural Language/Structured Query Language) is Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle Database (since version 7), TimesTen in-memory database (since version 11.2.1), and IBM DB2 (since version 9.7). Oracle Corporation usually extends PL/SQL functionality with each successive release of the Oracle Database. PL/SQL includes procedural language elements such as conditions and loops. It allows declaration of constants and variables, procedures and functions, types and variables of those types, and triggers. It can handle exceptions (runtime errors). Arrays are supported involving the use of PL/SQL collections. Implementations from version 8 of Oracle Database onwards have included features associated with object-orientation. One can create PL/SQL units such as procedures, functions, packages, types, and triggers, which are stored in the database for reuse by applications that use any of the Oracle Database programmatic interfaces. PL/SQL works analogously to the embedded procedural languages associated with other relational databases. For example, Sybase ASE and Microsoft SQL Server have Transact-SQL, PostgreSQL has PL/pgSQL (which emulates PL/SQL to an extent), and IBM DB2 includes SQL Procedural Language, which conforms to the ISO SQL’s SQL/PSM standard. The designers of PL/SQL modeled its syntax on that of Ada. Both Ada and PL/SQL have Pascal as a common ancestor, and so PL/SQL also resembles Pascal in several aspects. However, the structure of a PL/SQL package does not resemble the basic Object Pascal program structure as implemented by a Borland Delphi or Free Pascal unit. Programmers can define public and private global data-types, constants and static variables in a PL/SQL package. PL/SQL also allows for the definition of classes and instantiating these as objects in PL/SQL code. This resembles usage in object-oriented programming languages like Object Pascal, C++ and Java. PL/SQL refers to a class as an "Abstract Data Type" (ADT) or "User Defined Type" (UDT), and defines it as an Oracle SQL data-type as opposed to a PL/SQL user-defined type, allowing its use in both the Oracle SQL Engine and the Oracle PL/SQL engine. The constructor and methods of an Abstract Data Type are written in PL/SQL. The resulting Abstract Data Type can operate as an object class in PL/SQL. Such objects can also persist as column values in Oracle database tables. PL/SQL is fundamentally distinct from Transact-SQL, despite superficial similarities. Porting code from one to the other usually involves non-trivial work, not only due to the differences in the feature sets of the two languages, but also due to the very significant differences in the way Oracle and SQL Server deal with concurrency and locking. There are software tools available that claim to facilitate porting including Oracle Translation Scratch Editor, CEITON MSSQL/Oracle Compiler  and SwisSQL. The StepSqlite product is a PL/SQL compiler for the popular small database SQLite. PL/SQL Program Unit A PL/SQL program unit is one of the following: PL/SQL anonymous block, procedure, function, package specification, package body, trigger, type specification, type body, library. Program units are the PL/SQL source code that is compiled, developed and ultimately executed on the database. The basic unit of a PL/SQL source program is the block, which groups together related declarations and statements. A PL/SQL block is defined by the keywords DECLARE, BEGIN, EXCEPTION, and END. These keywords divide the block into a declarative part, an executable part, and an exception-handling part. The declaration section is optional and may be used to define and initialize constants and variables. If a variable is not initialized then it defaults to NULL value. The optional exception-handling part is used to handle run time errors. Only the executable part is required. A block can have a label. Package Packages are groups of conceptually linked functions, procedures, variables, PL/SQL table and record TYPE statements, constants, cursors etc. The use of packages promotes re-use of code. Packages are composed of the package specification and an optional package body. The specification is the interface to the application; it declares the types, variables, constants, exceptions, cursors, and subprograms available. The body fully defines cursors and subprograms, and so implements the specification. Two advantages of packages are: Modular approach, encapsulation/hiding of business logic, security, performance improvement, re-usability. They support object-oriented programming features like function overloading and encapsulation. Using package variables one can declare session level (scoped) variables, since variables declared in the package specification have a session scope.
Views: 68836 radhikaravikumar