Lecture 6. Active Record Associations 1 / 34

Size: px
Start display at page:

Download "Lecture 6. Active Record Associations 1 / 34"

Transcription

1 Lecture 6 Active Record Associations 1 / 34

2 Midterm Course Evaluations 2 / 34

3 Learn HTML You're going to be writing your own views in the next HW Make sure to familiarise yourself with the syntax and the basic structure of HTML (i.e. it's a hierarchical structure). 3 / 34

4 Homeworks 4 & 5 Will be graded by Monday 4 / 34

5 What are migrations? Vote at PollEv.com/CIS / 34

6 Generators 6 / 34

7 More generators Controller Generator: rails g controller controller_name action1 action2 Scaffold Controller Generator: rails g scaffold_controller model_name col1:type col2:type 7 / 34

8 Controller Generator You pass the generator the name of the controller and the actions that you want inside of it Generates the controller file with the actions that you pass along with it Also generates view files for the actions Should be used to create a controller file with no associated model e.g. the WelcomeController doesn't have an associated model rails g controller welcome index 8 / 34

9 Sca old Controller Generator You pass the generator the name of the controller and the columns in the table Will generate the controller with the 7 RESTful actions Also generates the views for each of these actions Should be used when you want the 7 RESTful routes and a model is associated rails g scaffold_controller note notebook:references title:st 9 / 34

10 before_action You'll notice a before_action in scaffold generated controllers Takes a method as an argument and calls that method before every action in the controller # To call the method before all actions in the controller: before_action :method_name # To only call the method before select actions: before_action :method_name, only: [:action1, :action2,...] # To call the method before all actions except a select few: before_action :method_name, except: [:action1, :action2,...] # Example: before_action :set_note, only: [:show, :edit, :update, :destroy] 10 / 34

11 Routes only and except work with routes too: # Whitelist routes resources :notes, only: [:show, :new, :create] # Blacklist routes resources :notes, except: [:index, :edit, :update, :destroy] 11 / 34

12 Associations 12 / 34

13 What does this do? # app/models/user.rb class User < ApplicationRecord has_many :tweets end # app/models/tweet.rb class Tweet < ApplicationRecord belongs_to :user, dependent: :destroy end 13 / 34

14 Associations So Far Last week we learned about belongs_to and has_many We talked about how this is represented in the model, but didn't spend a lot of time talking about at the database level 14 / 34

15 Keys Here are two kinds of keys in SQL databases: primary keys foreign keys There are others that we won't focus on in this class A key is essentially represented as a single column in a table. 15 / 34

16 Primary Keys Unique identifiers for each record Typically represented by an auto-incrementing id Our database tables can have one column for a primary key Active record just calls the column id 16 / 34

17 Foreign Keys Foreign keys are identifiers, which can help relate the record with a record in another table One record can have multiple foreign keys A foreign key will be a reference to a primary key of another table For example, the notes table would have a foreign key column notebook_id that references the id column in the notebooks table 17 / 34

18 Using Foreign Keys The foreign key will reference the id of the object it "belongs to" For example, an notebook with an id of 1 would have notes with a notebook_id of 1 You can insert new records into the database in relation to other objects and the foreign key will be automatically assigned 18 / 34

19 Using Foreign Keys notebook = Notebook.create(name: 'Notebook 1') p notebook.id #=> 1 note = notebook.notes.create(title: 'Note 1') p note.notebook_id #=> 1 note = Note.create(title: 'Note 2') notebook.notes << note p note.notebook_id #=> 1 19 / 34

20 Which table should get the foreign key column? Suppose we have an app that manages menus and their dishes. The menus table should have the foreign key column The dishes table should have the foreign key column Vote at PollEv.com/CIS / 34

21 Which model should have the belongs_to and which should have the has_many? Menu - has_many, Dish - belongs_to Menu - belongs_to, Dish - has_many Vote at PollEv.com/CIS / 34

22 Nested Routes It is often customary to use nested routes when a belongs_to, has_many relationship is defined Not always the case as you saw in the previous homework For example, if notes belong to notebooks, then you may only want to be able to access note routes through a specific notebook 22 / 34

23 Nested Resources # config/routes.rb resources :notebooks do resources :notes end Notebook routes will be defined as normal, but the routes for notes will look like this: Index: /notebooks/:notebook_id/notes Show: /notebooks/:notebook_id/notes/:id New: /notebooks/:notebook_id/notes/new etc. 23 / 34

24 has_many has_many But what if you wanted to create a has_many has_many relationship between models? For example, a note can have many editors and an editor can have many notes 24 / 34

25 has_many has_many But what if you wanted to create a has_many has_many relationship between models? For example, a note can have many editors and an editor can have many notes We can make an editor_id column in the notes table and a note_id in the editors table 24 / 34

26 Problems with that We can add the note to the editor's list of notes but then you also have to explicitly add the editor to the note's list of editors That's just redundant It also leads to duplication at the database level 25 / 34

27 Solution: SQL Joins There are several kinds of SQL joins (i.e. inner, left, right, and full), but we will only be using inner joins in this class An inner join looks for matches between two tables and returns all rows with matches Active Record typically matches one table's foreign key and another's primary key 26 / 34

28 Join Table The join table will contain foreign keys for the two tables you want to join It is convention to combine the two table names in alphabetical order e.g. The join table for notes and editors would be editors_notes So, for this note and editor example, you would have three tables: notes, editors, and editors_notes 27 / 34

29 How to represent Join Tables in Rails Use the has_many :through relationship 28 / 34

30 has_many :through To create the EditorsNotes join table: rails g migration CreateEditorsNotes editor:references note:references id editor_id note_id No editors_notes yet... # app/models/editors_notes.rb belongs_to :editor belongs_to :note 29 / 34

31 has_many :through # app/models/note.rb has_many :editors_notes, dependent: :destroy has_many :editors, through: :editors_notes # app/models/editor.rb has_many :editors_notes, dependent: :destroy has_many :notes, through: :editors_notes 30 / 34

32 31 / 34

33 End Result The editor is automatically added to notes.editors editor = Editor.create note = editor.notes.create p note.editors.include? editor #=> true 32 / 34

34 Deleting You'll notice that we put the dependent: :destroy option on editors_notes In almost all instances, you want the join table relationship deleted as well It doesn't make sense for an editors_note to exist if the note no longer does We don't want to put the dependent: :destroy on the editor because editors can exist without a note 33 / 34

35 Homework 6 Penn InTouch Lite You'll be pulling together: nested routes associations (including has_many :through) before_action only and except Will be a 2 part HW Part 2 released next week, will involve building a front-end and deploying 34 / 34

Lecture 6. Active Record Associations 1 / 30

Lecture 6. Active Record Associations 1 / 30 Lecture 6 Active Record Associations 1 / 30 Homeworks 4 & 5 Homework 4 was graded Homework 5 was due last night Any questions? 2 / 30 Learn HTML Time's almost up! You're going to be writing your own views

More information

Lecture 8. Validations & Sessions 1 / 41

Lecture 8. Validations & Sessions 1 / 41 Lecture 8 Validations & Sessions 1 / 41 Advanced Active Record 2 / 41 More Complex Queries Arel provides us with a number of methods to query our database tables So far, we've only used find which limits

More information

Lecture 7. Action View, Bootstrap & Deploying 1 / 40

Lecture 7. Action View, Bootstrap & Deploying 1 / 40 Lecture 7 Action View, Bootstrap & Deploying 1 / 40 Homeworks 5 & 6 Homework 5 was graded Homework 6 was due last night Any questions? 2 / 40 How would you rate the di culty of Homework 6? Vote at http://pollev.com/cis196776

More information

T-SQL Training: T-SQL for SQL Server for Developers

T-SQL Training: T-SQL for SQL Server for Developers Duration: 3 days T-SQL Training Overview T-SQL for SQL Server for Developers training teaches developers all the Transact-SQL skills they need to develop queries and views, and manipulate data in a SQL

More information

Lecture 4. Ruby on Rails 1 / 52

Lecture 4. Ruby on Rails 1 / 52 Lecture 4 Ruby on Rails 1 / 52 Homeworks 2 & 3 Grades were released for homework 2 Homework 3 was due last night Everyone got a style freebie since my default setup ignores spec files and I didn't change

More information

Lecture 14. Moving Forward 1 / 23

Lecture 14. Moving Forward 1 / 23 Lecture 14 Moving Forward 1 / 23 Course Evaluations Remember to fill out course evaluations for this class! Please provide honest and constructive feedback on the course Anything that you'd want me to

More information

Slide 1 CS 170 Java Programming 1 Testing Karel

Slide 1 CS 170 Java Programming 1 Testing Karel CS 170 Java Programming 1 Testing Karel Introducing Unit Tests to Karel's World Slide 1 CS 170 Java Programming 1 Testing Karel Hi Everybody. This is the CS 170, Java Programming 1 lecture, Testing Karel.

More information

Rails Guide. MVC Architecture. Migrations. Hey, thanks a lot for picking up this guide!

Rails Guide. MVC Architecture. Migrations. Hey, thanks a lot for picking up this guide! Rails Guide Hey, thanks a lot for picking up this guide! I created this guide as a quick reference for when you are working on your projects, so you can quickly find what you need & keep going. Hope it

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #16 Loops: Matrix Using Nested for Loop

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #16 Loops: Matrix Using Nested for Loop Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #16 Loops: Matrix Using Nested for Loop In this section, we will use the, for loop to code of the matrix problem.

More information

Associations: mechanics (ESaaS 5.3)"

Associations: mechanics (ESaaS 5.3) Associations: mechanics (ESaaS 5.3)" Armando Fox" 2013 Armando Fox & David Patterson, all rights reserved How does it work?" Models must have attribute for foreign key of owning object" e.g., movie_id

More information

Lecture 4. Ruby on Rails 1 / 49

Lecture 4. Ruby on Rails 1 / 49 Lecture 4 Ruby on Rails 1 / 49 Client-Server Model 2 / 49 What is it? A client (e.g. web browser, phone, computer, etc.) sends a request to a server Request is an HTTP request Stands for HyperText Transfer

More information

CS143 Handout 20 Summer 2012 July 18 th, 2012 Practice CS143 Midterm Exam. (signed)

CS143 Handout 20 Summer 2012 July 18 th, 2012 Practice CS143 Midterm Exam. (signed) CS143 Handout 20 Summer 2012 July 18 th, 2012 Practice CS143 Midterm Exam This midterm exam is open-book, open-note, open-computer, but closed-network. This means that if you want to have your laptop with

More information

Being day eight of the DBCC Command month at SteveStedman.com, today's featured DBCC Command is DBCC CLEANTABLE.

Being day eight of the DBCC Command month at SteveStedman.com, today's featured DBCC Command is DBCC CLEANTABLE. DBCC CleanTable Being day eight of the DBCC Command month at SteveStedman.com, today's featured DBCC Command is DBCC CLEANTABLE. Many times I have worked on a database that has evolved over 10 or more

More information

contain a geometry package, and so on). All Java classes should belong to a package, and you specify that package by typing:

contain a geometry package, and so on). All Java classes should belong to a package, and you specify that package by typing: Introduction to Java Welcome to the second CS15 lab! By now we've gone over objects, modeling, properties, attributes, and how to put all of these things together into Java classes. It's perfectly okay

More information

Functions Structure and Parameters behind the scenes with diagrams!

Functions Structure and Parameters behind the scenes with diagrams! Functions Structure and Parameters behind the scenes with diagrams! Congratulations! You're now in week 2, diving deeper into programming and its essential components. In this case, we will talk about

More information

Lecture 9. Forms & APIs 1 / 38

Lecture 9. Forms & APIs 1 / 38 Lecture 9 Forms & APIs 1 / 38 Final Project Proposal Due November 12th 11:59PM Should include: A summary of your idea A diagram with the db tables you plan to use& the relationships between them You can

More information

GEO 425: SPRING 2012 LAB 9: Introduction to Postgresql and SQL

GEO 425: SPRING 2012 LAB 9: Introduction to Postgresql and SQL GEO 425: SPRING 2012 LAB 9: Introduction to Postgresql and SQL Objectives: This lab is designed to introduce you to Postgresql, a powerful database management system. This exercise covers: 1. Starting

More information

CSCI-UA: Database Design & Web Implementation. Professor Evan Sandhaus

CSCI-UA: Database Design & Web Implementation. Professor Evan Sandhaus CSCI-UA:0060-02 Database Design & Web Implementation Professor Evan Sandhaus sandhaus@cs.nyu.edu evan@nytimes.com Lecture #16: JOIN, SELECT, UPDATE DELETE Database Design and Web Implementation Database

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

CS193X: Web Programming Fundamentals

CS193X: Web Programming Fundamentals CS193X: Web Programming Fundamentals Spring 2017 Victoria Kirst (vrk@stanford.edu) CS193X schedule Today - Middleware and Routes - Single-page web app - More MongoDB examples - Authentication - Victoria

More information

Ruby on Rails 3. Robert Crida Stuart Corbishley. Clue Technologies

Ruby on Rails 3. Robert Crida Stuart Corbishley. Clue Technologies Ruby on Rails 3 Robert Crida Stuart Corbishley Clue Technologies Topic Overview What is Rails New in Rails 3 New Project Generators MVC Active Record UJS RVM Bundler Migrations Factory Girl RSpec haml

More information

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships Instructor: Craig Duckett Lecture 04: Thursday, April 5, 2018 Relationships 1 Assignment 1 is due NEXT LECTURE 5, Tuesday, April 10 th in StudentTracker by MIDNIGHT MID-TERM EXAM is LECTURE 10, Tuesday,

More information

Sql Server 2000 Check Schema Exists

Sql Server 2000 Check Schema Exists Sql Server 2000 Check Schema Exists on how to check if a table exists in SQL Server 2000/2005 using SQL Statement. Using the Information Schema is the SQL Standard way to do it, so it should. Allows you

More information

Get Table Schema In Sql Server 2005 Modify. Column Datatype >>>CLICK HERE<<<

Get Table Schema In Sql Server 2005 Modify. Column Datatype >>>CLICK HERE<<< Get Table Schema In Sql Server 2005 Modify Column Datatype Applies To: SQL Server 2014, SQL Server 2016 Preview Specifies the properties of a column that are added to a table by using ALTER TABLE. Is the

More information

DB2 MOCK TEST DB2 MOCK TEST I

DB2 MOCK TEST DB2 MOCK TEST I http://www.tutorialspoint.com DB2 MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to DB2. You can download these sample mock tests at your local machine

More information

Force.com Workbook. Last updated: May 17, 2010

Force.com Workbook. Last updated: May 17, 2010 Force.com Workbook: Summer '10 Force.com Workbook Last updated: May 17, 2010 Copyright 2000-2010 salesforce.com, inc. All rights reserved. Salesforce.com is a registered trademark of salesforce.com, inc.,

More information

Instructor: Craig Duckett. Lecture 07: Tuesday, April 17 th, 2018 Conflicts and Isolation, MySQL Workbench

Instructor: Craig Duckett. Lecture 07: Tuesday, April 17 th, 2018 Conflicts and Isolation, MySQL Workbench Instructor: Craig Duckett Lecture 07: Tuesday, April 17 th, 2018 Conflicts and Isolation, MySQL Workbench 1 MID-TERM EXAM is LECTURE 10, Tuesday, May 1st Assignment 2 is due LECTURE 12, Tuesday, May 8

More information

Pl Sql Copy Table From One Schema To Another

Pl Sql Copy Table From One Schema To Another Pl Sql Copy Table From One Schema To Another I know how to do this using MS SQL Server. you want to copy a table from one schema to another, or from one database to another, and keep the same table name.

More information

Lecture 2. Object Orientation 1 / 51

Lecture 2. Object Orientation 1 / 51 Lecture 2 Object Orientation 1 / 51 Homework 1 Homework 1 was due at noon You will be graded on: Correctness: 15 points (passing all RSpec tests) Style: 5 points (having no Rubocop style offenses) Best

More information

6.830 Lecture PS1 Due Next Time (Tuesday!) Lab 1 Out end of week start early!

6.830 Lecture PS1 Due Next Time (Tuesday!) Lab 1 Out end of week start early! 6.830 Lecture 3 9.13.2017 PS1 Due Next Time (Tuesday!) Lab 1 Out end of week start early! Relational Model Continued, and Schema Design and Normalization Animals(name,age,species,cageno,keptby,feedtime)

More information

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables Instructor: Craig Duckett Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables 1 Assignment 1 is due LECTURE 5, Tuesday, April 10 th, 2018 in StudentTracker by MIDNIGHT MID-TERM

More information

CSCI-2320 Web Programming: Ruby on Rails

CSCI-2320 Web Programming: Ruby on Rails CSCI-2320 Web Programming: Ruby on Rails Mohammad T. Irfan Plan u Model-View-Controller (MVC) framework of web programming u Ruby on Rails 1 Ruby on Rails u Developed by David Hansson released 2004 u MVC

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 80 points Due Date: Friday, February 2, 11:59 pm (midnight) Late deadline (25% penalty): Monday, February 5, 11:59 pm General information This assignment is to be done

More information

CS121 MIDTERM REVIEW. CS121: Relational Databases Fall 2017 Lecture 13

CS121 MIDTERM REVIEW. CS121: Relational Databases Fall 2017 Lecture 13 CS121 MIDTERM REVIEW CS121: Relational Databases Fall 2017 Lecture 13 2 Before We Start Midterm Overview 3 6 hours, multiple sittings Open book, open notes, open lecture slides No collaboration Possible

More information

CS Homework 8 p. 1. CS Homework 8

CS Homework 8 p. 1. CS Homework 8 CS 325 - Homework 8 p. 1 Deadline: 11:59 pm on Friday, October 27, 2017 Purpose: CS 325 - Homework 8 To practice normalizing sets of relations into 1NF, 2NF, and 3NF, to practice writing more nested selects/subselects,

More information

Introduction to Object-Oriented Modelling and UML

Introduction to Object-Oriented Modelling and UML Naming Conventions Naming is not a side issue. It is one of the most fundamental mechanisms. This section deals with good and bad naming in models and code. This section is based on Stephen Kelvin Friedrich

More information

Introduction to Databases and SQL

Introduction to Databases and SQL Introduction to Databases and SQL Files vs Databases In the last chapter you learned how your PHP scripts can use external files to store and retrieve data. Although files do a great job in many circumstances,

More information

GEO 425: SPRING 2012 LAB 10: Intermediate Postgresql and SQL

GEO 425: SPRING 2012 LAB 10: Intermediate Postgresql and SQL GEO 425: SPRING 2012 LAB 10: Intermediate Postgresql and SQL Objectives: In the introductory SQL lab you worked with basic queries on two tables. This lab builds on that one by providing more advanced

More information

Data, Databases, and DBMSs

Data, Databases, and DBMSs Todd S. Bacastow January 2004 IST 210 Data, Databases, and DBMSs 1 Evolution Ways of storing data Files ancient times (1960) Databases Hierarchical (1970) Network (1970) Relational (1980) Object (1990)

More information

SQL Server. Lecture3 Cascading referential integrity constraint

SQL Server. Lecture3 Cascading referential integrity constraint SQL Server Lecture3 Cascading referential integrity constraint insert into tblperson values (4,'May','Ma@m.com',4) Msg 547, Level 16, State 0, Line 1 The INSERT statement conflicted with the FOREIGN KEY

More information

Schema Compare Does Not Support Sql Server 2008

Schema Compare Does Not Support Sql Server 2008 Schema Compare Does Not Support Sql Server 2008 Permissions to Compare Schemas and Data If the source database is based on SQL Server 2008 or later, you must also own or have the VIEW DEFINITION. For example,

More information

Rails: Associations and Validation

Rails: Associations and Validation Rails: Associations and Validation Computer Science and Engineering College of Engineering The Ohio State University Lecture 17 Schemas, Migrations, Models migrations models database.yml db:migrate db:create

More information

PRACTICE Examination

PRACTICE Examination PRACTICE Examination This is last year's exam. Note that it was considered a bit too long and too hard. This year's will be shorter and will include a bit more on database design and less of the most technical

More information

CORSICANA ISD TEACHER WEBPAGE REQUIREMENTS

CORSICANA ISD TEACHER WEBPAGE REQUIREMENTS PURPOSE: Please design your teacher website with the parent in mind. If I was a parent whose child had been out sick could I find how to call or email you? Could I learn what my child had missed in your

More information

How Enova Financial Uses Postgres. Jim Nasby, Lead Database Architect

How Enova Financial Uses Postgres. Jim Nasby, Lead Database Architect How Enova Financial Uses Postgres Jim Nasby, Lead Database Architect Who are we? Some history Migration Where are we today? (The cheerleading section) Cool stuff Q&A Overview 2 Who are we? Who are we?

More information

Web System Development with Ruby on Rails

Web System Development with Ruby on Rails Web System Development with Ruby on Rails Day 7(8/Nov/2012) Relational Database Today's Theme Learn Relation Structure in Relational Database Understand how to describe the relational structure Add new

More information

MITOCW watch?v=0jljzrnhwoi

MITOCW watch?v=0jljzrnhwoi MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Midterm Review. Winter Lecture 13

Midterm Review. Winter Lecture 13 Midterm Review Winter 2006-2007 Lecture 13 Midterm Overview 3 hours, single sitting Topics: Relational model relations, keys, relational algebra expressions SQL DDL commands CREATE TABLE, CREATE VIEW Specifying

More information

iflame INSTITUTE OF TECHNOLOGY

iflame INSTITUTE OF TECHNOLOGY Web Development Ruby On Rails Duration: 3.5 Month Course Overview Ruby On Rails 4.0 Training From Iflame Allows You To Build Full Featured, High Quality, Object Oriented Web Apps. Ruby On Rails Is A Full

More information

Lab 1: Introduction to Java

Lab 1: Introduction to Java Lab 1: Introduction to Java Welcome to the first CS15 lab! In the reading, we went over objects, methods, parameters and how to put all of these things together into Java classes. It's perfectly okay if

More information

CS8 Final Exam E03, 09M, Phill Conrad, UC Santa Barbara 09/10/2009

CS8 Final Exam E03, 09M, Phill Conrad, UC Santa Barbara 09/10/2009 CS8 Final Exam E03, 09M, Phill Conrad, UC Santa Barbara 09/10/2009 Name: Umail Address: @ umail.ucsb.edu Please write your name only on this page. That allows me to grade your exams without knowing whose

More information

Notes to Accompany Debugging Lecture. Jamie Blustein

Notes to Accompany Debugging Lecture. Jamie Blustein Notes to Accompany Debugging Lecture Jamie Blustein 28 April 2002 Introduction This lecture was originally written for Turbo Pascal, then updated for the rst ANSI C standard, then object-free C++. It does

More information

Get Table Schema In Sql Server 2008 To Add Column If Not Exists >>>CLICK HERE<<<

Get Table Schema In Sql Server 2008 To Add Column If Not Exists >>>CLICK HERE<<< Get Table Schema In Sql Server 2008 To Add Column If Not Exists IF NOT EXISTS ( SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'(dbo). Also try catch is easily possible to use in sql serverand

More information

feel free to poke around and change things. It's hard to break anything in a Moodle course, and even if you do it's usually easy to fix it.

feel free to poke around and change things. It's hard to break anything in a Moodle course, and even if you do it's usually easy to fix it. Teacher s Manual Teacher Manual This page is a very quick guide to creating online courses with Moodle. It outlines the main functions that are available, as well as some of the main decisions you'll need

More information

EE221 Databases Practicals Manual

EE221 Databases Practicals Manual EE221 Databases Practicals Manual Lab 1 An Introduction to SQL Lab 2 Database Creation and Querying using SQL Assignment Data Analysis, Database Design, Implementation and Relation Normalisation School

More information

Alter Schema Dbo Transfer Sql Server 2000

Alter Schema Dbo Transfer Sql Server 2000 Alter Schema Dbo Transfer Sql Server 2000 All of the SQL Delta Duo Compare tools compare schema and data of two databases. As the name Supports SQL Server 2000 through to 2014 and Azure. I am using Sql

More information

Comparison of File System vs Database Systems (Limitations to File System)

Comparison of File System vs Database Systems (Limitations to File System) 5IT 2017-18 Subject: DataBase Management System (1 st Midterm) Marks: 10 Attempt all four questions, all questions carry equal marks Q.1 Compare the File System with DBMS. 1. Duplicate Data As all files

More information

Hellerstein/Olston. Homework 6: Database Application. beartunes. 11:59:59 PM on Wednesday, December 6 th

Hellerstein/Olston. Homework 6: Database Application. beartunes. 11:59:59 PM on Wednesday, December 6 th Homework 6: Database Application beartunes Due @ 11:59:59 PM on Wednesday, December 6 th Overview For this assignment, you ll be implementing portions of a database-backed web application using Ruby on

More information

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Database Systems: Fall 2017 Quiz I

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Database Systems: Fall 2017 Quiz I Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.830 Database Systems: Fall 2017 Quiz I There are 15 questions and 12 pages in this quiz booklet. To receive

More information

Slide 1 CS 170 Java Programming 1 Multidimensional Arrays Duration: 00:00:39 Advance mode: Auto

Slide 1 CS 170 Java Programming 1 Multidimensional Arrays Duration: 00:00:39 Advance mode: Auto CS 170 Java Programming 1 Working with Rows and Columns Slide 1 CS 170 Java Programming 1 Duration: 00:00:39 Create a multidimensional array with multiple brackets int[ ] d1 = new int[5]; int[ ][ ] d2;

More information

Rails: Associations and Validation

Rails: Associations and Validation Rails: Associations and Validation Computer Science and Engineering College of Engineering The Ohio State University Lecture 28 Schemas, Migrations, Models migrations models database.yml db:migrate db:create

More information

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Slide 1: Cover Welcome to the speech, The role of DB2 in Web 2.0 and in the Information on Demand World. This is the second speech

More information

6.830 Lecture 2 9/11/2017 Relational Data Model (PS1 Out)

6.830 Lecture 2 9/11/2017 Relational Data Model (PS1 Out) 6.830 Lecture 2 9/11/2017 Relational Data Model (PS1 Out) "Those who cannot remember the past are condemned to repeat it" Today we will have a history lesson in data models, and talk about why the relational

More information

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Slide 1: Cover Welcome to lesson 3 of the db2 on Campus lecture series. Today we're going to talk about tools and scripting, and this is part 1 of 2

More information

Here are some figures to consider while answering the following questions.

Here are some figures to consider while answering the following questions. Here are some figures to consider while answering the following questions. Figure 1. Example page from Music Catalog web app. Figure 2. config/routes.rb Figure 3. Output of rake routes command. Figure

More information

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently.

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently. The Science of Computing I Lesson 4: Introduction to Data Structures Living with Cyber Pillar: Data Structures The need for data structures The algorithms we design to solve problems rarely do so without

More information

BIS1523 Homework Assignments 2.1

BIS1523 Homework Assignments 2.1 Homework Assignments 2.1 Folder: hw01 Assignment #1, Bio Overview: Create a web page with some information (real or made up) about yourself. Your web page should include the following: A header, with your

More information

Introduction. Using Styles. Word 2010 Styles and Themes. To Select a Style: Page 1

Introduction. Using Styles. Word 2010 Styles and Themes. To Select a Style: Page 1 Word 2010 Styles and Themes Introduction Page 1 Styles and themes are powerful tools in Word that can help you easily create professional looking documents. A style is a predefined combination of font

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

How To Insert Data In Two Tables At A Time In Sql Server 2008

How To Insert Data In Two Tables At A Time In Sql Server 2008 How To Insert Data In Two Tables At A Time In Sql Server 2008 Below is a similar example to my first INSERT statement, but this time I have left off the column list: With the introduction of SQL Server

More information

Designing Pages with Widgets

Designing Pages with Widgets Designing Pages with Widgets You can easily get some of the pages in Clearspace to look the way you want to by using widgets to choose and arrange content. Each widget displays content of a particular

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Fall 2017 Assignment 1 100 points Due Date: Monday, September 18, 11:59 pm (midnight) Late deadline (25% penalty): Tuesday, September 19, 11:59 pm General information This assignment is to be

More information

Validations vs. Filters

Validations vs. Filters Validations vs. Filters Advice (DRYness) Validation Filter Check invariants on model Check conditions for allowing controller action to run Pointcut AR model lifecycle hooks Before and/or after any public

More information

PART 1 - E-R Modelling - THIS PART DOES NOT USE SQL*Plus or ORACLE AT ALL!

PART 1 - E-R Modelling - THIS PART DOES NOT USE SQL*Plus or ORACLE AT ALL! CIS 315 - Homework #4 p. 1 CIS 315 - Database Design & Implementation - Homework Assignment #4 [corrected #2-19 on 10-17-09] DUE: 2:00 pm, Tuesday, October 20th Purpose: more practice with database modeling,

More information

MITOCW watch?v=sdw8_0rdzuw

MITOCW watch?v=sdw8_0rdzuw MITOCW watch?v=sdw8_0rdzuw PROFESSOR: Directed acyclic graphs are a special class of graphs that really have and warrant a theory of their own. Of course, "directed acyclic graphs" is lot of syllables,

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

Designing a Database -- Understanding Relational Design

Designing a Database -- Understanding Relational Design Designing a Database -- Understanding Relational Design Contents Overview The Database Design Process Steps in Designing a Database Common Design Problems Determining the Purpose Determining the Tables

More information

PIC 10A. Review for Midterm I

PIC 10A. Review for Midterm I PIC 10A Review for Midterm I Midterm I Friday, May 1, 2.00-2.50pm. Try to show up 5 min early so we can start on time. Exam will cover all material up to and including todays lecture. (Only topics that

More information

CONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics. COMP-202 Unit 1: Introduction

CONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics. COMP-202 Unit 1: Introduction CONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics COMP-202 Unit 1: Introduction Announcements Did you miss the first lecture? Come talk to me after class. If you want

More information

Google Apps Sync Installation Failed Outlook 2010

Google Apps Sync Installation Failed Outlook 2010 Google Apps Sync Installation Failed Outlook 2010 Jan 28, 2015. The app only downloaded the Google Apps Sync and failed to install the Outlook 2013 and reinstalled my old copy of Outlook 2010 and then

More information

Our second exam is Thursday, November 10. Note that it will not be possible to get all the homework submissions graded before the exam.

Our second exam is Thursday, November 10. Note that it will not be possible to get all the homework submissions graded before the exam. Com S 227 Fall 2016 Assignment 3 300 points Due Date: Wednesday, November 2, 11:59 pm (midnight) Late deadline (25% penalty): Thursday, November 2, 11:59 pm General information This assignment is to be

More information

Mysql Create Table Example Primary Key Foreign

Mysql Create Table Example Primary Key Foreign Mysql Create Table Example Primary Key Foreign Key Now, i want to connect this two table by the use of id primary key of girls and want to make it See: How to create a Minimal, Complete, and Verifiable

More information

Query Processing with Indexes. Announcements (February 24) Review. CPS 216 Advanced Database Systems

Query Processing with Indexes. Announcements (February 24) Review. CPS 216 Advanced Database Systems Query Processing with Indexes CPS 216 Advanced Database Systems Announcements (February 24) 2 More reading assignment for next week Buffer management (due next Wednesday) Homework #2 due next Thursday

More information

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST) Programming Concepts & Algorithms Course Syllabus Course Title Course Code Computer Department Pre-requisites Course Code Course Instructor Programming Concepts & Algorithms + lab CPE 405C Computer Department

More information

Azon Master Class. By Ryan Stevenson Guidebook #9 Amazon Advertising

Azon Master Class. By Ryan Stevenson   Guidebook #9 Amazon Advertising Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #9 Amazon Advertising Table of Contents 1. Joining Amazon Associates Program 2. Product Style Joining Amazon Associates Program

More information

CS 374 Fall 2014 Homework 2 Due Tuesday, September 16, 2014 at noon

CS 374 Fall 2014 Homework 2 Due Tuesday, September 16, 2014 at noon CS 374 Fall 2014 Homework 2 Due Tuesday, September 16, 2014 at noon Groups of up to three students may submit common solutions for each problem in this homework and in all future homeworks You are responsible

More information

More on Arrays CS 16: Solving Problems with Computers I Lecture #13

More on Arrays CS 16: Solving Problems with Computers I Lecture #13 More on Arrays CS 16: Solving Problems with Computers I Lecture #13 Ziad Matni Dept. of Computer Science, UCSB Announcements Homework #12 due today No homework assigned today!! Lab #7 is due on Monday,

More information

CSCI-UA: Database Design & Web Implementation. Professor Evan Sandhaus Lecture #23: SQLite

CSCI-UA: Database Design & Web Implementation. Professor Evan Sandhaus  Lecture #23: SQLite CSCI-UA:0060-02 Database Design & Web Implementation Professor Evan Sandhaus sandhaus@cs.nyu.edu evan@nytimes.com Lecture #23: SQLite Database Design and Web Implementation Administrivia! Homework HW 8

More information

Foreign-Key Associations

Foreign-Key Associations Search ASP.NET Sign In Join Home Get Started Downloads Web Pages Web Forms MVC Community Forums Overview Videos Samples Forum Books Open Source Home / Web Forms / Tutorials / Chapter 3. Continuing with

More information

Relational Model and Relational Algebra. Rose-Hulman Institute of Technology Curt Clifton

Relational Model and Relational Algebra. Rose-Hulman Institute of Technology Curt Clifton Relational Model and Relational Algebra Rose-Hulman Institute of Technology Curt Clifton Administrative Notes Grading Weights Schedule Updated Review ER Design Techniques Avoid redundancy and don t duplicate

More information

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. Guide to and Hi everybody! In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. This guide focuses on two of those symbols: and. These symbols represent concepts

More information

Intro. Speed V Growth

Intro. Speed V Growth Intro Good code is two things. It's elegant, and it's fast. In other words, we got a need for speed. We want to find out what's fast, what's slow, and what we can optimize. First, we'll take a tour of

More information

DBTools.h++ 3.x to SourcePro DB Migration Guide

DBTools.h++ 3.x to SourcePro DB Migration Guide DBTools.h++ 3.x to SourcePro DB Migration Guide DBTools.h++ 3.x -> SourcePro DB The goal of this section is to help Rogue Wave customers migrate projects from DBTools 3.x to SourcePro DB. SourcePro DB

More information

OVERVIEW OF RELATIONAL DATABASES: KEYS

OVERVIEW OF RELATIONAL DATABASES: KEYS OVERVIEW OF RELATIONAL DATABASES: KEYS Keys (typically called ID s in the Sierra Database) come in two varieties, and they define the relationship between tables. Primary Key Foreign Key OVERVIEW OF DATABASE

More information

Com S 227 Spring 2018 Assignment points Due Date: Thursday, September 27, 11:59 pm (midnight) "Late" deadline: Friday, September 28, 11:59 pm

Com S 227 Spring 2018 Assignment points Due Date: Thursday, September 27, 11:59 pm (midnight) Late deadline: Friday, September 28, 11:59 pm Com S 227 Spring 2018 Assignment 2 200 points Due Date: Thursday, September 27, 11:59 pm (midnight) "Late" deadline: Friday, September 28, 11:59 pm (Remember that Exam 1 is MONDAY, October 1.) General

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 100 points Due Date: Friday, September 14, 11:59 pm (midnight) Late deadline (25% penalty): Monday, September 17, 11:59 pm General information This assignment is to be

More information

Group A: Assignment No 2

Group A: Assignment No 2 Group A: Assignment No 2 Regularity (2) Performance(5) Oral(3) Total (10) Dated Sign Title of Assignment: SQL Joins in MySQL using 3-tier Problem Definition: DBMS using connections ( Client-application

More information

Section 7.2: Applications of the Normal Distribution

Section 7.2: Applications of the Normal Distribution Section 7.2: Applications of the Normal Distribution Objectives By the end of this lesson, you will be able to... 1. find and interpret the area under a normal curve 2. find the value of a normal random

More information

CSE : Python Programming

CSE : Python Programming CSE 399-004: Python Programming Lecture 2: Data, Classes, and Modules January 22, 2007 http://www.seas.upenn.edu/~cse39904/ Administrative things Teaching assistant Brian Summa (bsumma @ seas.upenn.edu)

More information

SJSU Course Evaluation. Team 131

SJSU Course Evaluation. Team 131 SJSU Course Evaluation Team 131 What is our objective Objective is to provide useful information about courses in SJSU for students who will be enrolled in them for the next semester. -Veteran students

More information