What is the difference between test scenarios, test cases, and test script?

What is the difference between test scenarios, test cases, and test script?

Test Cases is a document that contains the steps that has to be executed.
Test Scenario is any functionality that can be tested, which is also called as “Test Condition” or “Test Possibility”.
Test Script is used to test part of functionality of the software system.