A database is build from tables. A database without tables is useless, not only there is no data, but there is no place to put data in. This is a tutorial chapter, which means that you'll touch a lot of subjects on the surface and not deep enough, to avoid confusion, just assume that this is more like a guided tour of the basics, I don't expect that you understand everything on this chapter, but I hope to give you a wide view of what the job asks from you. And for you to see what the database business is about.
I'm using MariaDB as the database engine, some of these examples may differ depending on the database engine or the version. The source code on this book should work the same in MySQl, most of the exercises are done in standard SQL which means that you can use the source code as is, in standard SQL database engines.
The installation of a specific database engine is outside the scope of this book, however here is a YouTube video that I recorded with installation instructions to install MariaDB on Windows 10. You don't have to open that link on your eReader but you are welcome to try.
YouTube: How to install MariaDB on Windows 10.There are plenty of tutorial and videos on whatever database engine you decide to use. This book is written as a guide for SQL databases and most examples are done using standard SQL in order to allow you to use this knowledge on whatever database engine you use.
I'm assuming that you already installed a database engine and that you can actually run queries on it.
Before creating a table and making queries, you need to create an actual database. For this chapter, we are creating a database for a human resources department. Most of the time, you'll receive a document called technical requirements this document may say something like this:
"The company requires to store information about it's employees and departments. We need to store their names, hire dates and the department they belong to..."
During this first chapter you'll learn what most programmers know, regarding database design and modeling. The good news is that after reading this, you are pretty much in line with what most people already know about databases, the bad news is that this knowledge is incomplete and leads to a painful path. Believe it or not, this is what most people work with:
To create a database you need to run this command on the database engine:
CREATE DATABASE human_resources;
You can replace "human_resources" with whatever database name you want. The naming conventions I use are snake_case where all words are lower cased and I use underscore instead of spaces. I don't type "human_resources_database" because it's implied that all databases are just that, databases. So I don't need to write the word database on every database I create.
If recommend that you save these commands into a text file for easy replication. Text files with SQL queries are called scripts. You can name your scripts with the SQL extension to allow your file system to locate the recommended software to use in order to open these files.
Example SQL script names:
Whatever naming conventions you use, just remember to be consistent.
If you try to execute the same command again, the database engine may tell you that there was an Error: The human_resources database already exists.
While learning, it's common that you'll need to recreate your databases from scratch or create them using a SQL script file. In order to delete (drop) the human_resources database and create it anew, use this command:
CREATE OR REPLACE DATABASE human_resources;
This command will create the "human_resources" database, if it already exist, it will delete it and create a new one without any tables or data.
The database you just created is empty, there is no data and there is no place to put the data into. In order to put data into a database we need to create tables, inside that database. Before doing anything else, we need to open the database in order to execute more queries (instructions for the database engine to execute).
To open the "human_resources" database, execute this command:
USE human_resources;
Now you can execute queries upon the "human_resources" database. Next we need to create a place to put data into, let's create a table.
If we recall the requirements for this database, we get this:
"The company requires to store information about it's employees and departments. We need to store their names, hire dates and the department they belong to..."
With so little information be sure that whatever design you do at this time, it's going to get changed in the future, don't feel mad or frustrated, that's just how it is. But we are going to be working to get to the best version of the database as soon as possible.
The first thing to identify is the actual requirements to meet. After reading the requirements you can see that the database should be able to store these data:
A word that we read here a lot in there it's employee. So It's natural that our table name is just that: "employee", I name tables in singular not plural and I use the camelCase, naming convention. That means that the first letter of the name is lower case and instead of space, I join all the words and make a separation using a upper case letter, for example: firstName, employeeNorthOffice, employeeSalary, etc.
Our table's name it's "employee"
Next we need to add fields to insert our data into, my first proposal would be these fields:
Simple. Yet in the case of people's names, it's often required to store them in two fields: first name and last name, this allows you to search employees by last name or first name, also allows you to order these records using last names, quite useful on a lot of circumstances. So the proposed table fields would end like this:
Fields on a table must be declared of a certain data type, on databases, data types are used to impose rules and restrictions on the data to be stored. Depending of the type of data to be stored, you should chose a field data type.
For example, for the firstName and lastName fields we may use varchar data type, this is the data type used for text data, for the hireDate we may use a date data type. Notice that in the case of varchar, we may need to define how many characters are we allowed to store on that single field. Here is a list of the data types that we are going to use on this table on MariaDB:
For a detailed list of the data types supported by MariaDB visit: Data Types - MariaDB Knowledge Base
If you are using another database engine, please look for your database documentation on the Internet.
In our case, our employee table would have these fields:
So were does INTEGER come into play? We missed an important field that does not come defined in the technical requirements, that's the concept of the primary key. A primary key, also called a primary keyword, is a key in a relational database that is unique for each record. This value helps identifying a single record as unique on the entire table. In our case, we will create a primary key of type INTEGER. Since this field is artificial, which means that it's not part of the actual data required.
So we create a field called employeeID this field will store an INTEGER number and it will be auto incremented field, this means that the number it's introduced by the database engine itself in order to avoid duplication and ensure the value it's unique for the entire table.
So we end up with this list of fields for the employee table:
To visualize the employee, table we may represent it like a spreadsheet:
| employeeID INT, Primary key |
firstName VARCHAR(30) |
lastName VARCHAR(30) |
hireDate DATE |
department VARCHAR(60) |
|---|---|---|---|---|
| 1 | Josh | Smith | 1/5/2019 | Accounting |
| 2 | Adam | Black | 23/7/2018 | Human resources |
| 3 | Jessica | White | 1/9/2015 | Accounting |
| 4 | James | Stuart | 20/3/2017 | Sales |
| 5 | Jessica | White | 27/10/2019 | Sales |
So after all, it's time to actually code the table in SQL. Let's see the command to create the employee table then examine it to understand the details.
CREATE OR REPLACE TABLE employee (
employeeID INTEGER NOT NULL AUTO_INCREMENT,
firstName VARCHAR(30),
lastName VARCHAR(30),
hireDate DATE,
department VARCHAR(60),
CONSTRAINT employee_pk PRIMARY KEY (employeeID));
Now that's a mouthful. Lets divide and conquer this query by focusing on the first line:
CREATE OR REPLACE TABLE employee (
-- Code elided for clarity...
Similar to CREATE OR REPLACE DATABASE, we create the employee table and if it already exists, we replace it with a new version of it.
⚠
WARNING: This will delete the entire table and all it's data.
Next we create the actual fields of the employee table, the first and more important is the primary key we define it like this:
CREATE OR REPLACE TABLE employee (
employeeID INTEGER NOT NULL AUTO_INCREMENT,
-- Code elided for clarity...
The second line creates the employeeID field, the INTEGER keyword means that the field it's an integer number, NOT NULL means that this field may never be empty (NULL) when inserting or updating a record, it must always have a valid value, AUTO_INCREMENT means that if there is no value set for the new record or during and update for the record, the database engine will provide a valid auto numeric value to the field. This means that you just don't need to add a value to this field during an insert or update operation, the database engine already knows what to do. We'll see this in action on the next section.
CREATE OR REPLACE TABLE employee (
employeeID INTEGER NOT NULL AUTO_INCREMENT,
firstName VARCHAR(30),
lastName VARCHAR(30),
hireDate DATE,
department VARCHAR(60),
-- Code elided for clarity...
In a similar fashion, we add the fields that are actually required: firstName, lastName, hireDate and department. These fields have their data types defined after their names, remember to follow these field declarations with a coma (,) in order to separate the fields from one another and avoid execution errors.
CREATE OR REPLACE TABLE employee (
employeeID INTEGER NOT NULL AUTO_INCREMENT,
-- Code elided for clarity...
CONSTRAINT employee_pk PRIMARY KEY (employeeID));
Finally the last line defines the CONSTRAINT for the primary key. All primary keys are indexed, this means that a space in the database is dedicated to store not just the primary key itself, but the actual record in a index table that allows the database to locate an specific record quickly using the employeeID field as reference. We'll take a deep look at indexes in the future.
The employee_pk keyword stands for employee primary key this is a unique name for this specific index in the entire database.
The PRIMARY KEY (employeeID)); code is used to select which field is to be taken into consideration as the primary key, in this case that's employeeID. This must be considered as part of the primary key, just as the field definition on line two.
Finally we review the code for creating the employee table.
CREATE OR REPLACE TABLE employee (
employeeID INTEGER NOT NULL AUTO_INCREMENT,
firstName VARCHAR(30),
lastName VARCHAR(30),
hireDate DATE,
department VARCHAR(60),
CONSTRAINT employee_pk PRIMARY KEY (employeeID));
Note that there is no data on the employee table yet, we only created an empty table to be able to store the data into. Next we'll populate our table with actual data.
This was the hard part, create the database, then create a table. Working with data is 90% of the job, and it's the easiest part of the job. Most database administrators don't spend their time designing and modeling databases, these were created long ago most of the time and you just need to focus on getting data from the database and presenting information in a meaningful manner.
Now that you have the where to put data into, let's just do that. Data is inserted in the employee table in a record.
A record in a database is an object that can contain one more values. Groups of records are then saved in a table; the table defines the data that each record may contain. In a given database, there are multiple tables, each containing multiple records. Think of the rows and columns of a typical spreadsheet.1
Lets insert a new employee:
The employee table have these fields:
So the data for those fields should be these:
To insert Jessica White as a new employee at the employee table, execute this command:
INSERT INTO employee VALUES (DEFAULT, 'Jessica', 'White', '2019-04-01', 'Accounting');
This is the syntax to insert a new record when you already know the order of the fields on the employee table. If you read the values between the parenthesis, you'll realize that those values are in a proper order.
The DEFAULT keyword means that on the first field (employeeID) it's going to insert whatever default value it's assigned for this record, the database engine will pick the next unused value from the AUTO_INCREMENT property and use that value. Don't insert an actual value there unless you know what you are doing, just let the database engine do it's job.
Sometimes you don't have all the values or some of the record's values are unknown, in this case we use the NULL keyword in order to tell the database engine that we don't know that value for the record.
For example, assume we want to insert another employee, but this time we don't know what department he is going to be working for. So the department field is unknown. In this case we use this command:
INSERT INTO employee VALUES (DEFAULT, 'Walter', 'Jones', '2017-08-13', NULL);
In the future, you'll create fields that have the property NOT NULL like the primary key, if a field is marked as NOT NULL, then you either insert the value yourself or the database engine may do so via AUTO_INCREMENT or by DEFAULT value.
DEFAULT values, in the context of databases, are preset values defined for a column type. Default values are used when many records hold similar data.2
When you insert data into a table, the table itself may have a lot of fields or the actual values that you are inserting at a time may be incomplete. In this case, you may choose what fields to insert and ignore the others. To insert a new record on the employee table, use this command:
INSERT INTO employee
(firstName, lastName, department)
VALUES
('Walter', 'Jones', 'Sales');
This time you choose to insert a new record with only the name of the employee and it's department name. In tables with a lot of fields, this may come in handy.
So what happens with the rest of the fields? in this case they get NULL instead of an actual value. But that's not the behavior that may fit every situation, you may like to set a DEFAULT value for certain fields, for example the hireDate field may have a default value of the current date in the case that none is provided. During the table creation you may set this DEFAULT value with the use of a now() function like this:
CREATE OR REPLACE TABLE employee (
employeeID INTEGER NOT NULL AUTO_INCREMENT,
firstName VARCHAR(30),
lastName VARCHAR(30),
hireDate DATE DEFAULT NOW(),
department VARCHAR(60),
CONSTRAINT employee_pk PRIMARY KEY (employeeID));
In this version of the employee table, if no hireDate is inserted with the record, the database engine will provide one itself. This DEFAULT value is the result of the function NOW() this function returns the current date and time, in this example, the hireDate field it's a DATE data type, so the NOW() function return a DATE value, this means that the time part it's removed and only the date part is stored in the hireDate field.
If you already have a table with data that you don't want to delete, I recommend reading the Alter table section on this chapter, instead of replacing the employee table and start from scratch.
Now that you have the means to create a table and inserting records on a table, we now face the issue of listing records or selecting them. We may use this command to select all records from the employee table:
SELECT * FROM employee;
After executing the SELECT statement, you'll get a list similar to this:
| employeeID INT, Primary key |
firstName VARCHAR(30) |
lastName VARCHAR(30) |
hireDate DATE |
department VARCHAR(60) |
|---|---|---|---|---|
| 1 | Jessica | White | 2019-04-01 | Accounting |
| 2 | Walter | Jones | 2017-08-13 | NULL |
| 3 | Monica | Smith | 2019-11-15 | Sales |
Most of the time a SELECT ALL RECORDS is not the best strategy, specially if you are working with a large dataset, a table with millions of records may prove to be hard to use, so filtering the results is in order. Filtering results can be achieve with the WHERE clause, this clause is used like this:
SELECT *
FROM employee
WHERE employeeID = 1;
In this example, you are getting all records WHERE the employeeID is equal to '1'. In this case there is only one record:
| employeeID INT, Primary key |
firstName VARCHAR(30) |
lastName VARCHAR(30) |
hireDate DATE |
department VARCHAR(60) |
|---|---|---|---|---|
| 1 | Jessica | White | 2019-04-01 | Accounting |
In later chapters we'll get a lot more practical examples. Since selecting data it's the most used SQL statement by far, let's make some more examples.
If you want to select all employees that belong to the "Sales" department:
SELECT *
FROM employee
WHERE department = 'Sales';
If you want to select all employees that have not yet being assigned a department:
SELECT *
FROM employee
WHERE department IS NOT NULL;
If you want to select all employees that their "last name" is "Jones":
SELECT *
FROM employee
WHERE lastName = 'Jones';
If you want to select all employees hired between 2018 and 2019 :
SELECT *
FROM employee
WHERE hireDate BETWEEN '2018-01-01' AND '2020-01-01';
In this example, '2020-01-01' it's used instead of '2019-12-31' because the end date starts at the zero hour of such date. So, if '2019-12-31' is used, the last day of 2019 will not be taken into consideration.
Now we are entering the danger zone. Inserting new data is not such a big deal compared to updating such data. Many times, the need to change anything will come and the feeling of dread will come along. Modifying something that has been there for years may sound like a daunting task, so let me show you the command that creates a lot of painful moments in the life of a database administrator:
UPDATE employee SET firstName = 'Sara';
At first glance this command just changes someone's first name to 'Sara', but who's name is going to get changed? That's the issue, everyone's first name it's now 'Sara'.
| employeeID INT, Primary key |
firstName VARCHAR(30) |
lastName VARCHAR(30) |
hireDate DATE |
department VARCHAR(60) |
|---|---|---|---|---|
| 1 | Sara | White | 2019-04-01 | Accounting |
| 2 | Sara | Jones | 2017-08-13 | NULL |
| 3 | Sara | Smith | 2019-11-15 | Sales |
This happens often, that you execute an UPDATE statement without a WHERE clause. So it's important to add a filter just like in the SELECT statement, just that in this case is more important. And there is no CTRL-Z or undo function here, at least not in standard SQL, so having a filter in this statement is a must most of the time. If you screw up here, you better have a backup at hand.
The syntax for the UPDATE statement it's pretty straight forward:
UPDATE table_name
SET
column1 = value1,
column2 = value2, ...
WHERE condition;
Some common examples include:
Update the hire date of Jessica White to today's date:
UPDATE employee
SET
hireDate = NOW()
WHERE
employeeID = 1; -- Jessica White's employeeID number
In this example, you rather use the employeeID number instead of the employee's actual name, if there is more than one Jessica White, both are going to get affected. In most update operations that handle single record updates, the use of the primary key is crucial to select just the desired record.
Set Walter Jones's department to 'Human resources' and his hire date to today's date:
UPDATE employee
SET
department = 'Human resources',
hireDate = NOW()
WHERE
employeeID = 2; -- Walter Jones's employeeID number
This time, we updated two fields at the same time. We can update more than a single field on every update operation. This is really useful when handling several data updates for a single record.
Change Monica Smith's name to 'Sara' Smith:
UPDATE employee
SET
firstName = 'Sara'
WHERE
firstName = 'Monica'
AND
lastName = 'Smith';
I don't recommend to use actual names to look for specific records, so this example is merely academic. On the other hand, you can use an AND keyword to specify two or even more conditions to be meet in order to execute the update statement. In later chapters, you'll get to use more sophisticated queries that use this and other keywords like OR and NOT, in the mean time we are getting started with simple examples.
⚠
Deleting records it's a dangerous business, just like the UPDATE statement, you need to think carefully before executing a DELETE statement without a WHERE clause.
Deleting an entire table on a production environment means that the system can go down for the day or even worse. Not having a backup of the deleted data it's more than enough for people to lose their jobs, so be careful.
The syntax for the DELETE statement it's as follows:
DELETE FROM table_name WHERE condition;
As mention before, including a condition it's highly recommended unless you want to just delete the entire data from a table. Let's see some examples.
To delete all employees where the department it's unknown or it's missing, you can't evaluate a NULL against True or False or any other value, you need to use the IS NULL statement inside the WHERE clause like this:
DELETE FROM employee WHERE department IS NULL;
This deletes records on the employee table that don't have an actual value at the department field. The NULL keyword it's used to refer to a missing piece of data or unknown data, it should never be used to represent an empty data like a numeric zero or an empty string.
Most of the time, you will delete a single record, just like the UPDATE statement, you'll use the WHERE clause to choose which one record to delete in this case, we use the employeeID field in order to do the delete:
DELETE FROM employee WHERE employeeID = 1;
Since the employeeID is unique, there is only one record with such value, so only one record is deleted. Again a word of caution. Delete records is a very dangerous thing to execute on a production environment. I recommend executing a SELECT statement with the WHERE clause that's supposed to be used by the DELETE statement, that way you'll know if you are actually deleting the desired records.
During software development, specially on the Agile methodologies, it's very common to have changes to the database structure. Inserting and deleting records is one thing, changing the structure or one or several tables is another.
Why would you need to change the structure a table? After all you design the database in such a way that the initial requirements are meet. And that may be true, yet initial requirements are just that, initial. Requirement's change and so the original design becomes obsolete. This is a good sigh. It means that it evolves for the better. The software initial solution gives life to new improvements or functionality.
Let's see an example.
Remember that your employee table, have these fields:
To visualize the employee table, we may represent it like a spreadsheet:
| employeeID INT, Primary key |
firstName VARCHAR(30) |
lastName VARCHAR(30) |
hireDate DATE |
department VARCHAR(60) |
|---|---|---|---|---|
| 1 | Josh | Smith | 1/5/2019 | Accounting |
| 2 | Adam | Black | 23/7/2018 | Human resources |
| 3 | Jessica | White | 1/9/2015 | Accounting |
| 4 | James | Stuart | 20/3/2017 | Sales |
| 5 | Jessica | White | 27/10/2019 | Sales |
And after a week you are asked to include the salary of every employee as a new field for the employee table. This requires you to add a new field on the table.
To add a salary field to the employee table, you need to choose data type for the new field. In this case, to represent money we'll use DECIMAL data type, for MariaDB. This data type, requires you to define the total number of digits (the precision) and the number of digits after the decimal point (the scale). Like this: DECIMAL(13,2)
If we want to add a salary field to the employee table we would use this command:
ALTER TABLE employee
ADD salary DECIMAL(13, 2) DEFAULT 0.0;
After executing this command, your table will have a new field with a default value of zero. You can see the new field with the default value of 0.0 (decimal) on the table like this:
| employeeID INT, Primary key |
firstName VARCHAR(30) |
lastName VARCHAR(30) |
hireDate DATE |
department VARCHAR(60) |
salary DECIMAL(13, 2) |
|---|---|---|---|---|---|
| 1 | Josh | Smith | 1/5/2019 | Accounting | 0.0 |
| 2 | Adam | Black | 23/7/2018 | Human resources | 0.0 |
| 3 | Jessica | White | 1/9/2015 | Accounting | 0.0 |
| 4 | James | Stuart | 20/3/2017 | Sales | 0.0 |
| 5 | Jessica | White | 27/10/2019 | Sales | 0.0 |
Adding fields to an existing table is one of the most common altering commands that you'll ever face.
The alter command can be used to delete a field, yet this operation requires extreme caution if used on a table with actual data on the field that you desire to delete.
An example for removing the recently created salary field, you would use this command:
ALTER TABLE employee DROP IF EXISTS salary;
Note that if you are dropping a field, all data in that field is lost, so be careful.
Why would you like to delete a table? Maybe you just imported data from a spreadsheet or a text file and everything landed on a temporary import table, after moving that data to it's final destination table, you may need to delete the temporary table afterwards.
Another reason may be that you just created a test table to try out things or experiment with data types. Whatever the reason may be, you can DROP a table to delete it and all it's data with this command:
-- Standard SQL
DROP table_name;
-- MariaDB/MySQL allows IF EXISTS clause
DROP TABLE IF EXISTS table_name;
If you want to drop the employee table, you can use this command:
-- Standard SQL
DROP employee;
-- MariaDB/MySQL allows IF EXISTS clause
DROP TABLE IF EXISTS employee;
If you drop a table, remember that all data is lost along with that table's structure. There are techniques that you can use to keep a backup of the data using the database engine backup utilities and you may also develop a work around to ensure that the data and the table you are deleting is not harmful.
This is what most software developers work with in their projects. This is an incomplete information about databases and it's fundamentals. I invite you to read on to the complete book in order to come out of this hole and grow into a proper database administrator.


{% extends "base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block title %}Easy Not Found Generator{% endblock %} {% block page_content %}


Beliefs
God is sovereign over all things such that there is no aspect of reality outside of His ultimate control. Though God's rule extends to all things, it is particularl His soveregnty over the work of salvation that is a theological distincitve. We believe that it is exceedingly good and glorious news that salvation is not depedent on the desires and deeds of man, but is grounded intead in God's eternal decree of election. Though man is responsible for his sin, God is ultimately and entirely responsible for drawing those He would save unto Himself and overcoming their natural resistance to the gospel.
The Gifts of the Holy Spirit
The gifts of the Holy Spirit that we see exercised in the Scriptures have not ceased with the death of the last Apostle or the closing of the New Testament canon. They are available today and are to be eagerly desired and practiced in submission to the SPirit speaking though the Scripture
Men and Women
Men and women are absolutely equal in essence, dignity and valu but are different by divine design. As part of God's good created order, men and women are to have different yet complementary roles and responsibilities in the home and church, especially as it comes to teaching and authority. These role distincitos are God's grace to man and woman and are to be protected, preserved and practiced for His glory and our joy
Mission and Missionaries
We believe that the mission of the church is to reveal the good news of Jesus to a lost world. Theis is done through loving one another within the church, loving those outside of the church and through the verbal proclamation of the gospel.
Worship
Worship is at the very heart of the church's life. All that the church is and does is rooted in its worship of God. The community of faith, gathered in response to God's call, is formed in its worship. Worship is the principal influence that shapes our faith, and is the most visible way we express our faith.
Giving
As Christians, giving of your time, talent and treasure is part of our worship. Resources for online giving are coming soon. In the meantime, if you would like to give financially or by serving, then please visit or contact us for assistance


- Are motives of more fancy; and, in fine,
- Her infinite cunning, with her modern grace,
- Subdued me to her rate: she got the ring;
- And I had that which any inferior might
- At market-price have bought.
- DIANA
- I must be patient:
- You, that have turn'd off a first so noble wife,
- May justly diet me. I pray you yet;
- Since you lack virtue, I will lose a husband;
- Send for your ring, I will return it home,
- And give me mine again.
- BERTRAM
- I have it not.
- KING
- What ring was yours, I pray you?
- DIANA
- Sir, much like
- The same upon your finger.
- KING
- Know you this ring? this ring was his of late.
- DIANA
- And this was it I gave him, being abed.
- KING
- The story then goes false, you threw it him
- Out of a casement.
- DIANA
- I have spoke the truth.
Enter PAROLLES
- BERTRAM
- My lord, I do confess the ring was hers.
- KING
- You boggle shrewdly, every feather stars you.
- Is this the man you speak of?
- DIANA
- Ay, my lord.
- KING
- Tell me, sirrah, but tell me true, I charge you,
- Not fearing the displeasure of your master,
- Which on your just proceeding I'll keep off,
- By him and by this woman here what know you?
- PAROLLES
- So please your majesty, my master hath been an
- honourable gentleman: tricks he hath had in him,
- which gentlemen have.
- KING
- Come, come, to the purpose: did he love this woman?
- PAROLLES
- Faith, sir, he did love her; but how?
- KING
- How, I pray you?
- PAROLLES
- He did love her, sir, as a gentleman loves a woman.
- KING
- How is that?
- PAROLLES
- He loved her, sir, and loved her not.
- KING
- As thou art a knave, and no knave. What an
- equivocal companion is this!
- PAROLLES
- I am a poor man, and at your majesty's command.
- LAFEU
- He's a good drum, my lord, but a naughty orator.
- DIANA
- Do you know he promised me marriage?
- PAROLLES
- Faith, I know more than I'll speak.
- KING
- But wilt thou not speak all thou knowest?
- PAROLLES
- Yes, so please your majesty. I did go between them,
- as I said; but more than that, he loved her: for
- indeed he was mad for her, and talked of Satan and
- of Limbo and of Furies and I know not what: yet I
- was in that credit with them at that time that I
- knew of their going to bed, and of other motions,
- as promising her marriage, and things which would
- derive me ill will to speak of; therefore I will not
- speak what I know.
- KING
- Thou hast spoken all already, unless thou canst say
- they are married: but thou art too fine in thy
- evidence; therefore stand aside.
- This ring, you say, was yours?
- DIANA
- Ay, my good lord.
- KING
- Where did you buy it? or who gave it you?
- DIANA
- It was not given me, nor I did not buy it.
- KING
- Who lent it you?
- DIANA
- It was not lent me neither.
- KING
- Where did you find it, then?
- DIANA
- I found it not.
- KING
- If it were yours by none of all these ways,
- How could you give it him?
- DIANA
- I never gave it him.
- LAFEU
- This woman's an easy glove, my lord; she goes off
- and on at pleasure.
- KING
- This ring was mine; I gave it his first wife.
- DIANA
- It might be yours or hers, for aught I know.
- KING
- Take her away; I do not like her now;
- To prison with her: and away with him.
- Unless thou tell'st me where thou hadst this ring,
- Thou diest within this hour.
- DIANA
- I'll never tell you.
- KING
- Take her away.
- DIANA
- I'll put in bail, my liege.
- KING
- I think thee now some common customer.
- DIANA
- By Jove, if ever I knew man, 'twas you.
- KING
- Wherefore hast thou accused him all this while?
- DIANA
- Because he's guilty, and he is not guilty:
- He knows I am no maid, and he'll swear to't;
- I'll swear I am a maid, and he knows not.
- Great king, I am no strumpet, by my life;
- I am either maid, or else this old man's wife.
- KING
- She does abuse our ears: to prison with her.
- DIANA
- Good mother, fetch my bail. Stay, royal sir:
- Exit Widow
- The jeweller that owes the ring is sent for,
- And he shall surety me. But for this lord,
- Who hath abused me, as he knows himself,
- Though yet he never harm'd me, here I quit him:
- He knows himself my bed he hath defiled;
- And at that time he got his wife with child:
- Dead though she be, she feels her young one kick:
- So there's my riddle: one that's dead is quick:
- And now behold the meaning.
Re-enter Widow, with HELENA
- KING
- Is there no exorcist
- Beguiles the truer office of mine eyes?
- Is't real that I see?
- HELENA
- No, my good lord;
- 'Tis but the shadow of a wife you see,
- The name and not the thing.
- BERTRAM
- Both, both. O, pardon!
- HELENA
- O my good lord, when I was like this maid,
- I found you wondrous kind.  This is done:
- Will you be mine, now you are doubly won?
- BERTRAM
- If she, my liege, can make me know this clearly,
- I'll love her dearly, ever, ever dearly.
- HELENA
- If it appear not plain and prove untrue,
- Deadly divorce step between me and you!
- O my dear mother, do I see you living?
- LAFEU
- Mine eyes smell onions; I shall weep anon:
- To PAROLLES
- Good Tom Drum, lend me a handkercher: so,
- I thank thee: wait on me home, I'll make sport with thee:
- Let thy courtesies alone, they are scurvy ones.
- KING
- Let us from point to point this story know,
- To make the even truth in pleasure flow.
- To DIANA
- If thou be'st yet a fresh uncropped flower,
- Choose thou thy husband, and I'll pay thy dower;
- For I can guess that by thy honest aid
- Thou keep'st a wife herself, thyself a maid.
- Of that and all the progress, more or less,
- Resolvedly more leisure shall express:
- All yet seems well; and if it end so meet,
- The bitter past, more welcome is the sweet.
Flourish


Artist Rooms
Click the title, and you will find a space to explore all the artworks under the Artist Rooms archive at the Tate Gallery. Categories, names of the artworks and artists are derived from the metadata available on Tate's GitHub repository. Processing scripts, resulting data, and the code of this site are also available on GitHub. Copyright information of images can be found on the artworks's page of the Tate website.


Codesmith drinks is gonna get lit! Turnt up Thursdays
Codesmith drinks is gonna get lit! Turnt up Thursdays
I don't see why people are upset about a Trump presidency. I think he's gonna do an amazing job!
LOCK HER UP #MAKEAMERICAGREATAGAIN
Oh man, I could really go for some Taco Bell right about now.


Total Confirmed Cases
-
Recovered
-
Deaths
-
Updated:
Top 10 Countries
Cases |
Country |
Deaths |
-
-
-
Cases |
Country |
Deaths |


Fit linear, logistic and Cox models regularized with L0, lasso (L1), elastic-net (L1 and L2), or net (L1 and Laplacian) penalty, and their adaptive forms, such as adaptive lasso / elastic-net and net adjusting for signs of linked coefficients. It solves L0 penalty problem by simultaneously selecting regularization parameters and the number of non-zero coefficients. This augmented and penalized minimization method provides an approximation solution to the L0 penalty problem, but runs as fast as L1 regularization problem. The package uses one-step coordinate descent algorithm and runs extremely fast by taking into account the sparsity structure of coefficients. It could deal with very high dimensional data and has superior selection performance.
| Version: | 0.9 |
| Depends: | Matrix (≥ 1.2-10) |
| Imports: | Rcpp (≥ 0.12.12) |
| LinkingTo: | Rcpp, RcppEigen |
| Published: | 2018-04-23 |
| Author: | Xiang Li, Shanghong Xie, Donglin Zeng and Yuanjia Wang |
| Maintainer: | Xiang Li <xli256 at its.jnj.com> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | yes |
| CRAN checks: | APML0 results |
| Reference manual: | APML0.pdf |
| Package source: | APML0_0.9.tar.gz |
| Windows binaries: | r-devel: APML0_0.9.zip, r-release: APML0_0.9.zip, r-oldrel: APML0_0.9.zip |
| OS X binaries: | r-release: APML0_0.9.tgz, r-oldrel: APML0_0.9.tgz |
| Old sources: | APML0 archive |
Please use the canonical form https://CRAN.R-project.org/package=APML0 to link to this page.


EProperty
Search
Find Your Space
(current)
Sell Your Space
Our Story
Contact Us
Find Your Space
Enter Location,Town
Nairobi
Mombasa
Kisumu
Category
Houses
Flats and Apartments
Bedsitters
Offices
Commercial Space
Min.Bedrooms
1
2
3
4
5
Min.Price
1000
2000
3000
4000
5000
Max.Price
5000
6000
7000
8000
9000
Search
MAP SEARCH
Map Search
NEIGHBOURHOODS
View
GALLERY
View


--- layout: vis ---
The purpose of this visualization is to show the relationship of the number of students enrolled in each district based on Enrollment, Gender and French Language courses. For this visualization only two academic years are available 2011-2012 and 2012-2013.
The visualization was creating using the D3.js library.
Once loaded you are presented with four options and a button, the four default options are to view English public school districts by enrolment for the 2011-2012 academic year. Before selecting update a map of Southern Ontario is displayed, this is where the school districts will be loaded.
After making your selection a choropleth map is displayed showing the data type going from the smallest value (red), to the largest value (blue). As expected the Toronto district school board has the most number of students enrolled.
By hovering over different school districts a box will be shown that will display the school district name, the number of students enroled in the district and the website for that district. Once you have visited that district the saturation will decrease to let you know you have visited it.
If a district is clicked a barchart will allow you to see additional information about the school district, each data type shows different types of information. For example if the data type is enrolment a barchart showing the number of students in each grade will appear. Hovering over the bars of the barchart will display another box showing the district name and exact number of students enrolled. Again after hovering the saturation will decrease to let you know you have visited it.
For this visualization there are two types of data being used, the first is the boundary definitions for Ontario and the school districts and the second is the enrolment data for the four types of data.
The first boundary file is Ontario, this file is provided as a Shapefile that can be used with proprietary software. In order to use this file with D3.js it needed to be converted to the geoJSON format, after that was complete it could then be displayed.
The source of the Ontario Boundary file can be found here, this is hosted by the Ontario government and needs to be requested.
The other four boundary files also needed to be converted and contain the boundary information for the four types of school districts. The source of the four types of school districts can be found here, this is hosted by the University of Toronto.
The data files that drive this visualization are all contained on the Ontario Open Data website. In order to use this data in this visualization the data first needed to be converted into CSV format, this was done using Microsoft Excel. It is also worth noting that some of the headers were also changed to be more concise in the visualization. In total there are four data files.
There are two files that drive the Enrolment visualization. Enrolment by grade for elementary schools which can be found here and enrolment by grade for secondary schools, which can be found here. These two files were merged to become one file that contained both elementary and secondary, one interesting find about this data is that some districts only have elementary schools with no secondary and some have only secondary.
For the language data type we can see three types of french enrolment, core, extended and immersion. This data contained both elementary and secondary schools without the need to change it, some headers were still changed however. The data for this can be found here.
While we have two selection for gender they both come from the same dataset, by selecting each gender only the choropleth map will change showing the total number of the selected gender enroled. This data can be found here.
While using the visualization you may notice that the choropleth map may be black instead of red or blue, this indicated that there is no data for this district. To view this the French Public school board has no data for any of it's districts. I left these in the visualization because the missing data will still tell interesting stories.


Creates a box menu like the one you see on the right (or bottom). The BoxMenu tag doesn't return HTML in the normal way, instead Javascript is used
to generate the BoxMenu.
Content of menu item 1 here.
Content of menu item 2 here.
The box menu generated from this code can be seen at the top right (Firefox) or bottom left (Explorer) corner of this page.
BoxMenuId - use this if you want control of the BoxMenu's ID
cssFile [boxMenu]
icon - an icon that is displayed to the left of the menu item title
expandIcon - an icon that is displayed to the left of the menu item title when the menu item is the selected one (expanded)
animate [0] - slides the boxes to their new positions when a new box is selected (doesn't seem to work as well as it should)
height [100%]
width [100%]
content - the menu items
title
icon - Overrides the BoxMenu "icon" attribute
expandIcon - Overrides the BoxMenu "expandIcon" attribute
selected [0] - set this to true (1) if this is the menu item that should be expanded when the page loads
url - if specified, the HTML of this URL will be the content of the menu item
elementId - if specified, the element with this ID will become the content of the menu item
body - if specified, this will be the content of the menu item
content - same as "body"
Either, "body" or "content" should contain the content of the menu item, or "elementId" or "url" can be used to specify the ID or URL of the element that makes up this menu item.
Using "content" is recommended over "body" and "elementId" whenever possible, as it makes the HTML more easy-to-grasp.
In Internet Explorer 7 Beta 2, BoxMenu is incompatible with .
<o2 header> or <o2 incJavascript> and <o2 incStylesheet> must be called on the same page as <o2 BoxMenu> in order for the box menu to work correctly.
See also , and .


{% extends "base.html" %} {% block h1_title %}Sorry, you can't log in right now{% endblock %} {% block title %}Unable to log in{% endblock %} {% block content %}
Your account has two-factor authentication set up, but {{ TEXT_BRANDING.organization_name_in_context }} have disabled two-factor authentication.
Please contact {{ SUPPORT_EMAIL_NAME }} for support.
{% endblock %}


Provides various scoring mechanisms that can be used by subclasses of the FilterByScore and ResolveByScore detectors.


Re-open Borders, Nigerian Traders Are Also Suffering, Ghana's Ex-President Tells Buhari
He said Nigerian businesses that relied on supply from other West African countries were suffering.
by SaharaReporters, New York
Ex-President of Ghana, John Mahama, has called on President Muhammadu Buhari to re-open Nigeria's border with neighbouring countries so that economic activities can thrive in West Africa.
Mahama made the plea while delivering a lecture during a book launch in Lagos, according to the News Agency of Nigeria.
He said Nigerian businesses that relied on supply from other West African countries were suffering.
Mahama said, “I am sure that businesses in Nigeria that rely on supplies from these countries are also suffering.
“With the signing of the joint border task force agreement between Nigeria and her neighbours, I will like to take this opportunity to appeal to Nigeria to open up her border so that economic activities can resume.
“ECOWAS was set up to foster the ideal of collective self-sufficiency for its member states.
“As a trading union, it is also meant to create a single, large trading bloc through economic cooperation.
“Integrated economic activities as envisaged in the area revolve around but are not limited to industry, transport, telecommunications, energy, agriculture, natural resources, commerce, monetary and financial issues, social as well as cultural matters.”