프로그래밍 언어40 알고리즘의 성능과 시간복잡도 알고리즘의 성능 구현된 프로그램이 실행되는 동안 얼마나 많은 공간적 자원과 시간적 자원을 요구하는 가에 따라 결정 자원을 적게 요구하는 알고리즘이 성능이 더 좋다고 표현 공간적 자원 컴파일된 프로그램을 이루는 명령어 저장 공간: 하드디스크(HDD) 프로그램이 실행되는 동안 필요한 데이터 저장 공간: 메모리 프로그램의 제어 정보와 임시 정보 저장 공간 시간적 자원 알고리즘이 구현된 프로그램의 실행이 시작되어 종료될 때까지 걸리는 시간 알고리즘의 시간 복잡도 알고리즘의 시간적 성능을 분석하기 위해 입력크기 n에 대한 기본 연산의 실행 횟수를 함수 형태로 나타낸 것 T(n) = n T(n) = n-1 T(n) = n2 T(n) =n(n-1)/2 알고리즘의 시간 복잡도 계산 예 숫자가 저장되어 있는 배열의 각 .. 2021. 11. 26. 알고리즘의 개념, 표현 방법 Algorithm 알고리즘 주어진 문제의 해결을 위해 논리 정연한 절차에 의해 계획한 해결방안을 정형적이고 체계적으로 기술한 것 어떤 문제를 해결하기 위해 나열한 계산적인 절차 절차 실행 후 주어진 문제에서 요구하는 결과 출력 어떤 구조와 방법으로 구성해갈 것인지를 생각하는 기본적인 설계 문제를 해결하기 위해 단계별로 명확히 기술하여 나열한 일련의 명령어들의 모임 왜 필요한가? 주어진 문제를 해결하기 위함 구체적인 작업에 들어가기 전에 사용 알고리즘의 유래 19세기 아랍의 유명한 수학자인 al-Khowarizmi에 의해 알고리즘으로 명명 수작업이나 좀 더 유용한 기계로 약간의 계산을 위한 간단한 규칙의 집합 숫자를 더하고, 곱하고, 나누는 것들도 알고리즘 알고리즘 종류 재귀적 알고리즘 탐색 및 정렬 알고.. 2021. 11. 26. 데이터베이스 Day7 - Java + DB 연동(3) DB 연동 프로그램 db5 패키지 메뉴 사용 db3 패키지의 DAO/DTO를 사용한 Stuent 예제를 다음과 같이 변경 작성 클래스(java 파일 5개/db3의 DAO,DTO를 import 해온다고 하면 3개) StudentDTO StudentDAO studentInsert: 메소드 생성(입력받고, DAO insert() 호출) StudentSelect: 메소드 (DAO select() 호출) StudentMain: switch문 사용해서 메뉴 정리 StudentDTO package db5; public class StudentDTO { private String stdNo; private String stdName; private int stdYear; private String stdAddress;.. 2021. 11. 26. 데이터베이스 Day6 - Java + DB 연동(2) Java + DB 연동 실습 DBProject DBConnect.java : DB 연결 BookSelectEx.java : DB 연결+ 해당 작업 수행 BookInsertEx.java : DB 연결+ 해당 작업 수행 BookInputInsert.java : DB 연결+ 해당 작업 수행 BookUpdateEx.java : DB 연결+ 해당 작업 수행 BookDeleteEx.java : DB 연결+ 해당 작업 수행 프로젝트명: DBTest 패키지명: db1 클래스 DBConnecton.java BookInsertEX.java DBConnect 생성 package db1; import java.sql.Connection; import java.sql.DriverManager; public class DBCon.. 2021. 11. 25. 데이터베이스 Day5 - Java + DB 연동(1) Java + DB 연동 JDBC(Java Database Connectivity) 다양한 종류의 관계형 데이터베이스에 접근할 때 사용되는 자바 표준 SQL 인터페이스 자바 프로그램이 DBMS에 접근하여 작업할 수 있게 해주는 API를 제공하는 클래스 모음 모든 DBMS에서 공통적으로 사용할 수 있는 인터페이스와 클래스로 구성 실제 구현 클래스는 각 DBMS 벤더가 구현했기 때문에 거의 모든 벤더가 JDBC 드라이버 제공 각 DBMS에 맞는 JDBC 드라이버 사용 JDBC 드라이버 JDBC 인터페이스를 구현한 클래스 파일 모음(jar 파일) 각 DBMS 벤더에서 제공되는 구현 클래스 JDBC의 역할 응용프로그램과 DBMS 사이에서 연결역할 SQL문을 DBMS에 전달하고 그 결과값을 응용프로그램에 전달하는 .. 2021. 11. 24. 데이터베이스 Day5 - 데이터 제어어(DCL) DCL(Data Control Language) DDL / DML / DCL 계정 관리 데이터의 사용 권한 관리 데이터베이스 트랜잭션 명시(COMMIT / REVOKE) COMMIT: 작업 완료 REVOKE 작업 취소 이미 부여된 데이터베이스 객체의 권한 취소 트랜잭션 처리 중에 오류 발생: COMMIT 하지 않고 REVOKE 작업 처리하기 이전으로 되돌림 GRANT: 데이터베이스 객체에 권한 부여 권한 특정 유형의 SQL 문을 실행하거나 다른 사용자의 객체를 사용할 수 있는 권리 권한의 종류 시스템 권한 객체 권한 특정 객체를 조작할 수 있는 권한 DML 사용 권한 : SELECT, INSERT, UPDATE, DELETE 예제 사용자 계정 조회 use mysql; SELECT * FROM user; .. 2021. 11. 24. 데이터베이스 Day5 - SQL에서의 각종 함수 SQL에서의 각종 함수 수학 함수 ROUND(값, 자리수) 반올림한 값을 구하는 함수 자리수 아래에서 반올림하여 자리수까지 출력 양수값: 소수점 오른쪽 자릿수(소수점 이하) 음수 값: 소수점 왼쪽 자릿수 (1의 자리부터) ex) ROUND(3.456, 1) : 3.500 SELECT clientNo, ROUND(AVG(bookPrice * bsQty)) AS "평균 주문액", ROUND(AVG(bookPrice * bsQty),0) AS "1의 자리까지 출력", ROUND(AVG(bookPrice * bsQty),-1) AS "10의 자리까지 출력", ROUND(AVG(bookPrice * bsQty),-2) AS "100의 자리까지 출력", ROUND(AVG(bookPrice * bsQty),-3) A.. 2021. 11. 24. 데이터베이스 Day3 - 데이터 조작어(DML) 데이터 조작어 (DML) 데이터 검색 / 입력 / 수정 / 삭제 SELECT / INSERT / UPDATE / DELETE INSERT(데이터 입력) 테이블에 새로운 행을 삽입하는 명령어 기본 형식 INSERT INTO 테이블명 (열이름 리스트) VALUES (값리스트); ex) INSERT INTO student (stdNo, stdName, stdYear, dptNo) VALUES ('20210101', '홍길동', 1, '1') 실습 sqldb2 스키마(데이터베이스) 생성 CREATE SCHEMA sqldb2; 출판사 테이블 생성 use sqldb2; -- 출판사 테이블 생성 CREATE TABLE publisher( pubNo VARCHAR(10) NOT NULL PRIMARY KEY, pubN.. 2021. 11. 22. 데이터베이스 Day2 - 데이터 정의어(DDL) SQL SQL (데이터베이스 표준 질의어) 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터베이스, 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어 질의어(Query Launguage)는 검색 언어라는 의미 데이터를 검색하는 역할 외에 데이터 입력, 수정, 삭제, 제어, 복구 등 다양한 기능을 제공하는 종합적인 언어 Structured Query Language 에스큐엘 또는 시퀄이라 읽음 DBMS 제품 별 특화된 SQL 사용 SQL 문의 기능별 분류 데이터 정의어(DDL) 데이터베이스, 테이블 구조를 생성 / 수정 / 삭제하는데 사용 스키마, 테이블, 뷰, 인덱스 정의, 변경, 삭제할 때 사용하는 명령문 CREATE / ALTER / DROP CREATE: 데이터베이스, 테이블 등 객체 .. 2021. 11. 19. 이전 1 2 3 4 5 다음