Python function, PL-SQL Programming

Assignment Help:

This task involves developing some functions that extract data from an SQL database. The scenario is that a company which owns an online vehicle search website wants to generate some statistics about their car dataset so that they can have a better idea about its distribution. You are asked to write four Python functions to generate the required statistics.

1.  Write a Python function named top_N_models(make, N) that generates the number of occurrences of each model of a specified car make and prints the top N most frequent models for that car make together with their corresponding number of occurrences, one model per line.   This function has two parameters.    The first parameter is a string specifying a car make. The second parameter is an integer indicating the number of top models to be printed.   For example, for function call top_N_models('BMW', 2), if the top two most frequent models of  BMW are  M3 with frequency 30 and M5 with frequency 25, your function is expected to produce the following result:      

>>> top_N_models('BMW', 2) 

M3 30

M5 25

Note that if there are no details for the specified make of car in the database an appropriate error message must be printed.  (Hint: A non-existent row or field will be represented by the special Python value  None.)  See the unit tests in question file  top_N_models_Q.py for further detail.

2.  Write a Python function named top_N_expensive(N)  that prints the make, model, and price of the top  N most expensive cars, one car per line.   The output should be ordered  in  descending order  by price first, then  in ascending order by  car make, and finally  in  descending order by  car model.   Moreover, the output should not contain duplicates, i.e., any two lines in the output can't be exactly the same.   This function has only one parameter, N, which indicates the number of makes to be printed.

For example, if the top five most expensive cars are MERCEDES-BENZ CLK320 with price $99,990, BMW X5 with price $89,400, BMW M5 with price $89,400, LEXUS LS430 with price $85,000, and BMW Z4 with price $85,000, the output of your function should be as follows.

  >>> top_N_expensive(5) 

MERCEDES-BENZ CLK320 $99990

BMW X5 $89400

BMW M5 $89400

BMW Z4 $85000

LEXUS LS430 $85000

3.  Write a Python function named min_max(make)that prints the  range of prices of  the cars with the specified make.  For example, if the maximum price and minimum price of all Toyotas in the database are  $32,000 and  $3,000, respectively, your function should produce the following result.

>>> min_max('TOYOTA') 

TOYOTA ($3000-$32000)

 Notice that the string printed should be formatted so that it is easy to read.  Also, if there are no details for the specified make of car in the database an appropriate error message must be printed.  

(Hint: A non-existent row or field will be represented by the special Python value  None.)   See the unit tests in question file  min_max_Q.py for further detail.

Development hints

Before you can begin this task you must ensure that you have access to MySQL software and the MySQL Workbench so that you can create the database.  You must also have access to an appropriate MySQL-Python module so that you can call MySQL functions from Python code.  This will be either MySQLdb (for Windows users) or the MySQL Connector (for Mac users). 

You need to write four Python programs for this task to retrieve data from the database.  The four programs are independent from each other. You don't have  to start from the first program.  You can choose any one to start with.

Deliverables

The deliverables for this task are the four completed Python programs,

  1. min_max.py,
  2. top_N_expensive.py,
  3. top_N_makes.py and
  4. top_N_models.py.

Note that the "_Q" question suffixes have been removed from the file names.  These programs must pass all of the unit tests in the supplied program templates  without modification. You do not need to submit any SQL database scripts or dumps.  We will use our own SQL database to test your software.


Related Discussions:- Python function

Closing a cursor variable, Closing a Cursor Variable The CLOSE stateme...

Closing a Cursor Variable The CLOSE statement disables the cursor variable. After that, the related result set is undefined. The syntax for the same is as shown below: CLOS

Use serially reusable packages - performance of application, Use Serially R...

Use Serially Reusable Packages To help you to manage the use of memory, the PL/SQL gives the pragma SERIALLY_ REUSABLE that mark some packages as serially reusable . So mark

Bulk binds advantages, Bulk Binds advantages In the Embedded Oracle RDB...

Bulk Binds advantages In the Embedded Oracle RDBMS, the PL/SQL engines accept any valid PL/SQL subprogram or block. As the figure shows, the PL/SQL engine executes all procedur

Sql pseudocolumns, SQL Pseudocolumns The PL/SQL recognizes the followin...

SQL Pseudocolumns The PL/SQL recognizes the following SQL pseudocolumns, that returns the specific data items: LEVEL, NEXTVAL, CURRVAL, ROWID, & ROWNUM. The Pseudocolumns are n

Sql query on hospital database, Perform the following queries on the Hospit...

Perform the following queries on the Hospital1.DB using SQL Anywhere (START EARLY!). a. Which patients have purchased the drug "Tylenol"? List the names and addresses. Arrange the

In operator-comparison operators, IN Operator The operator IN tests the ...

IN Operator The operator IN tests the set membership. This means "equal to any member of." The set may have nulls, but they are ignored. For illustration, the statement below do

Create a procedure to tax calculation task, Complete the following steps to...

Complete the following steps to create a procedure to calculate the tax on an order. The BB_TAX table contains the states that require taxes to be submitted for Internet sales. If

Develop a job management site, Lightweight system to provide and take info ...

Lightweight system to provide and take info from workers in the field and office, have basic design outlined already just require build and implementation Desired Skills CSS,

Manipulating individual elements - pl/sql, Manipulating Individual Elements...

Manipulating Individual Elements Faraway you have manipulated an entire collection. Within the SQL, to manipulate the individual elements of the collection, and then use the ope

Manipulating objects in pl sql, Manipulating Objects: You can use an o...

Manipulating Objects: You can use an object type in the CREATE TABLE statement to indicate the datatype of a column. When the table is created once, you can use the SQL statem

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd