mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Added sample files
This commit is contained in:
		
							
								
								
									
										85
									
								
								samples/SQL/videodb.cql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								samples/SQL/videodb.cql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,85 @@ | |||||||
|  | CREATE KEYSPACE videodb WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; | ||||||
|  |  | ||||||
|  | use videodb; | ||||||
|  |  | ||||||
|  | // Basic entity table | ||||||
|  | // Object mapping ? | ||||||
|  | CREATE TABLE users ( | ||||||
|  |    username varchar, | ||||||
|  |    firstname varchar, | ||||||
|  |    lastname varchar, | ||||||
|  |    email varchar, | ||||||
|  |    password varchar, | ||||||
|  |    created_date timestamp, | ||||||
|  |    total_credits int, | ||||||
|  |    credit_change_date timeuuid, | ||||||
|  |    PRIMARY KEY (username) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // One-to-many entity table | ||||||
|  | CREATE TABLE videos ( | ||||||
|  |    videoid uuid, | ||||||
|  |    videoname varchar, | ||||||
|  |    username varchar, | ||||||
|  |    description varchar,  | ||||||
|  |    tags list<varchar>, | ||||||
|  |    upload_date timestamp, | ||||||
|  |    PRIMARY KEY (videoid) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // One-to-many from the user point of view | ||||||
|  | // Also know as a lookup table | ||||||
|  | CREATE TABLE username_video_index ( | ||||||
|  |    username varchar, | ||||||
|  |    videoid uuid, | ||||||
|  |    upload_date timestamp, | ||||||
|  |    videoname varchar, | ||||||
|  |    PRIMARY KEY (username, videoid) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // Counter table | ||||||
|  | CREATE TABLE video_rating ( | ||||||
|  |    videoid uuid, | ||||||
|  |    rating_counter counter, | ||||||
|  |    rating_total counter, | ||||||
|  |    PRIMARY KEY (videoid) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // Creating index tables for tab keywords | ||||||
|  | CREATE TABLE tag_index ( | ||||||
|  |    tag varchar,  | ||||||
|  |    videoid uuid, | ||||||
|  |    timestamp timestamp, | ||||||
|  |    PRIMARY KEY (tag, videoid) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // Comments as a many-to-many  | ||||||
|  | // Looking from the video side to many users | ||||||
|  | CREATE TABLE comments_by_video ( | ||||||
|  |    videoid uuid, | ||||||
|  |    username varchar, | ||||||
|  |    comment_ts timestamp, | ||||||
|  |    comment varchar, | ||||||
|  |    PRIMARY KEY (videoid,comment_ts,username) | ||||||
|  | ) WITH CLUSTERING ORDER BY (comment_ts DESC, username ASC); | ||||||
|  |  | ||||||
|  | // looking from the user side to many videos | ||||||
|  | CREATE TABLE comments_by_user ( | ||||||
|  |    username varchar, | ||||||
|  |    videoid uuid, | ||||||
|  |    comment_ts timestamp, | ||||||
|  |    comment varchar, | ||||||
|  |    PRIMARY KEY (username,comment_ts,videoid) | ||||||
|  | ) WITH CLUSTERING ORDER BY (comment_ts DESC, videoid ASC); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // Time series wide row with reverse comparator | ||||||
|  | CREATE TABLE video_event ( | ||||||
|  |    videoid uuid, | ||||||
|  |    username varchar, | ||||||
|  |    event varchar, | ||||||
|  |    event_timestamp timeuuid, | ||||||
|  |    video_timestamp bigint, | ||||||
|  |    PRIMARY KEY ((videoid,username), event_timestamp,event) | ||||||
|  | ) WITH CLUSTERING ORDER BY (event_timestamp DESC,event ASC); | ||||||
|  |  | ||||||
							
								
								
									
										85
									
								
								samples/SQL/videodb.ddl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								samples/SQL/videodb.ddl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,85 @@ | |||||||
|  | CREATE KEYSPACE videodb WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; | ||||||
|  |  | ||||||
|  | use videodb; | ||||||
|  |  | ||||||
|  | // Basic entity table | ||||||
|  | // Object mapping ? | ||||||
|  | CREATE TABLE users ( | ||||||
|  |    username varchar, | ||||||
|  |    firstname varchar, | ||||||
|  |    lastname varchar, | ||||||
|  |    email varchar, | ||||||
|  |    password varchar, | ||||||
|  |    created_date timestamp, | ||||||
|  |    total_credits int, | ||||||
|  |    credit_change_date timeuuid, | ||||||
|  |    PRIMARY KEY (username) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // One-to-many entity table | ||||||
|  | CREATE TABLE videos ( | ||||||
|  |    videoid uuid, | ||||||
|  |    videoname varchar, | ||||||
|  |    username varchar, | ||||||
|  |    description varchar,  | ||||||
|  |    tags list<varchar>, | ||||||
|  |    upload_date timestamp, | ||||||
|  |    PRIMARY KEY (videoid) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // One-to-many from the user point of view | ||||||
|  | // Also know as a lookup table | ||||||
|  | CREATE TABLE username_video_index ( | ||||||
|  |    username varchar, | ||||||
|  |    videoid uuid, | ||||||
|  |    upload_date timestamp, | ||||||
|  |    videoname varchar, | ||||||
|  |    PRIMARY KEY (username, videoid) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // Counter table | ||||||
|  | CREATE TABLE video_rating ( | ||||||
|  |    videoid uuid, | ||||||
|  |    rating_counter counter, | ||||||
|  |    rating_total counter, | ||||||
|  |    PRIMARY KEY (videoid) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // Creating index tables for tab keywords | ||||||
|  | CREATE TABLE tag_index ( | ||||||
|  |    tag varchar,  | ||||||
|  |    videoid uuid, | ||||||
|  |    timestamp timestamp, | ||||||
|  |    PRIMARY KEY (tag, videoid) | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // Comments as a many-to-many  | ||||||
|  | // Looking from the video side to many users | ||||||
|  | CREATE TABLE comments_by_video ( | ||||||
|  |    videoid uuid, | ||||||
|  |    username varchar, | ||||||
|  |    comment_ts timestamp, | ||||||
|  |    comment varchar, | ||||||
|  |    PRIMARY KEY (videoid,comment_ts,username) | ||||||
|  | ) WITH CLUSTERING ORDER BY (comment_ts DESC, username ASC); | ||||||
|  |  | ||||||
|  | // looking from the user side to many videos | ||||||
|  | CREATE TABLE comments_by_user ( | ||||||
|  |    username varchar, | ||||||
|  |    videoid uuid, | ||||||
|  |    comment_ts timestamp, | ||||||
|  |    comment varchar, | ||||||
|  |    PRIMARY KEY (username,comment_ts,videoid) | ||||||
|  | ) WITH CLUSTERING ORDER BY (comment_ts DESC, videoid ASC); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | // Time series wide row with reverse comparator | ||||||
|  | CREATE TABLE video_event ( | ||||||
|  |    videoid uuid, | ||||||
|  |    username varchar, | ||||||
|  |    event varchar, | ||||||
|  |    event_timestamp timeuuid, | ||||||
|  |    video_timestamp bigint, | ||||||
|  |    PRIMARY KEY ((videoid,username), event_timestamp,event) | ||||||
|  | ) WITH CLUSTERING ORDER BY (event_timestamp DESC,event ASC); | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user