This thesis presents various types of results from Ramsey Theory, most particularly, Ramsey-type theorems concerning graphs and families of sets. This thesis consists of 8 chapters. In Chapter 1, we give a brief historical introduction to Ramsey Theory. Then, we introduce some necessary notation and definitions that will be consistently used throughout the thesis, including some basic knowledge of Graph Theory which is particularly useful in Chapters 2 and 3. We present Ramsey-type results about graphs in Chapters 2 and 3. In Chapter 2, we introduce the classical Ramsey's Theorem which is the Ramsey-type theorem on the edge-colouring of the complete graph. We also introduce Ramsey numbers and present some results on these, especially some upper and lower bounds. In Chapter 3, we look at Ramsey-type results for monochromatic tree graphs, cycle graphs and bipartite graphs, respectively, occurring in arbitrary edge colourings of the complete graph. Then, we present the bipartite version of Ramsey's Theorem. Chapters 4, 5 and 6 present other famous Ramsey-type theorems, for arithmetic progressions and other, more general, structures. In Chapter 4, we introduce and prove Van der Waerden's Theorem and we also present some results on the bounds of the Van der Waerden numbers. In Chapter 5, we present Schur's Theorem and some results relating to the Schur numbers. Then, we look into some generalisations of Schur's Theorem, including Rado's Theorem and Folkman's Theorem. In Chapter 6, we prove the Hales-Jewett Theorem. We also construct a proof of Van der Waerden's Theorem by using the Hales-Jewett Theorem. Before we end our studies, in Chapter 7, we include some application of the Ramsey Theory. We look into the application of the Ramsey Theory in various fields, including graph theory, geometry and number theory. In Chapter 8, we conclude our studies. We give some overall comment on Ramsey Theory and include some possible future work on the field.